Автоматически добавлять обработчик событий во вновь созданный элемент, используя jQuery
Когда документ готов, я присоединяю этот обработчик событий ко всем элементам с классом bubbleItemOff. Моя проблема заключается в том, что некоторые элементы bubbleItemOff создаются динамически после запуска события готовности документа.
Есть ли способ автоматически добавить обработчик событий во вновь созданные элементы, или я должен явно сделать это после создания элемента?
$(function() {
$('.bubbleItemOff').mouseenter(function(e)
{
//...
});
});
2 ответа
Использовать делегирование событий для общего родительского элемента, используя on()
метод (если вы используете jQuery 1.7.x +), например
$(function() {
$('body').on('mouseenter', '.bubbleItemOff', function(e)
{
...
}
}
если вы используете старую версию, используйте delegate()
вместо. + Изменить body
с первым общим родительским элементом .bubbleItemOff
Вы можете использовать JQuery on
метод в подходе делегированных событий:
$(".parentItem").on("mouseenter", ".bubbleItemOff", function(e) {
//
});
Вот .parentItem
относится к любому родителю .bubbleItemOff
,