#jquery #javascript #dom
Как можно поймать событие, когда динамически добавляется новый элемент? .live('ready' function(){}) не работает
Ответы
Ответ 1
$('#someId').on('appendCompleted', function(){ console.log('append completed'); }); $('#container').append(function(idx){ $('#someId').trigger('appendCompleted'); return '...'; }); UPD: более каноническое решение $.when($('#container').append('...')) .done(function(){ console.log('append completed'); }) .trigger() .append() jQuery.when()Ответ 2
$("div#container").delegate("div#obj", "click", function() { $(this).toggleClass("chosen"); }); источникОтвет 3
Если используете версию дж квери последнюю, то лучше использовать on. И ставить обработчик не на сам объект а через делегирование, вот так: $('body').on('click', '.elem', function(){});
Комментариев нет:
Отправить комментарий