2012-03-25 3 views
1

Я вроде как noob в jquery, так что извините, если вопрос немного очевиден.как я должен обрабатывать событие для элемента, который еще не загружен при загрузке страницы.

Я задавался вопросом, как я должен обрабатывать элемент, который создается с помощью метода .html() Jquery, поэтому нет никакого способа, чтобы справиться с этим после $(document).ready. Есть ли способ создать обработчик, когда элемент создан или что-то еще?

+2

прочитайте метод [on()] (http://api.jquery.com/on/) – ManseUK

ответ

4

Простой, как:

$('#containerId').on('eventType', 'childSelector', handler); 

Всегда связать событие делегата к ближайшему статического элемента динамических элементов.

Если вы хотите, чтобы понять, как это происходит волшебство, читать ondocs

+0

Спасибо, я попробую его –

+0

Да, это сработало отлично, спасибо –

0

Для примера:

$("#mydiv").html("<span>Content</span>"); 
$("#mydiv span").css("background-color","blue"); 

так, назовем его после того, как вы установите .html().

+0

Вы абсолютно правы! но он спрашивает о ** обработчиках ** ... как 'on' \' delegate' \ 'live' – gdoron

+0

Хорошо, но я думаю, что он имел в виду это путем« обработки »элемента. $ ("# mydiv") также является "обработчиком" элемента. –

+1

И теперь я прочитал название и увидел слово «событие». :) Да, ты прав. Ваш ответ и мой должны быть написаны одним ответом. –