JQuery 1.7 on() и off() для динамических элементов
jQuery 1.7 .on()
и .off()
должны заменять методы .live()
и т.д.
Я попробовал его с динамическим элементом:
$(".myList").on('click', function(e){
alert('hello world');
});
Это не работает для меня для элементов, добавленных после загрузки DOM.
Является ли код выше допустимого примера для методов jQuery 1.7 .on()
и .off()
?
Ответы
Ответ 1
Смотрите http://blog.jquery.com/2011/11/03/jquery-1-7-released/ для живых() → вкл/выкл() (и других) примеров.
Это их пример для преобразования live в on:
$('a').live('click', fn);
$(document).on('click', 'a', fn);
Итак, ваш пример:
$(document).on('click', '.myList', function(e){
alert('hello world');
});
Ответ 2
Вот небольшой пример:
http://jsfiddle.net/zzSjK/
<script type="text/javascript">
$(function(){
$(document).on('click','.clickme' , function(e){
addtext()
});
function addtext() {
$('.myList').append('<div class="clickme">click me</div>')
}
})
</script>
<div class="myList">
<div class="clickme">-click-</div>
</div>
Ответ 3
"Связывание" с помощью:
$(document).on('click','.myDiv',function(){ ... });
И "отвязать" с помощью:
$(document).off('click','.myDiv');