События jQuery и .load () - PullRequest
       3

События jQuery и .load ()

3 голосов
/ 03 марта 2010

Никогда раньше не сталкивался с этой проблемой с jQuery. У меня есть следующее:

$(document).ready(function() {
    $('#browser_cat a').click( function() {
        $('#browser_cat').hide();
        $('#browser_cat').load('/api/browser/catchildren/'+$(this).attr('id'));
        $('#browser_cat').fadeIn();
        return(false);
    })
});

Довольно простые вещи. И это работает, однако данные, собранные .load(), не инициируют событие. Это вещь типа детализации категории ... так что уровень-1 выполняет загрузку, но затем уровень-2 возвращает значение href вместо того, чтобы снова вызывать событие click().

Загруженный HTML-код #browser_cat со ссылками, а сгенерированный DOM в порядке.

Я оцениваю это элементарно. Заранее спасибо.


Код ответа ответа:

$(document).ready(function() {
    $('#browser_cat a').live("click", function() {
        $('#browser_cat').hide();
        $('#browser_cat').load('/api/browser/catchildren/'+$(this).attr('id'));
        $('#browser_cat').fadeIn();
        return(false);
    })
});

1 Ответ

5 голосов
/ 03 марта 2010

Использование live event

Прикрепить обработчик к событию для всех элементы, которые соответствуют текущему селектор, сейчас или в будущем.

Заменить

$('#browser_cat a').click( function() {

с

$('#browser_cat a').live("click", function() {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...