jQuery 1.7's .on()
and .off()
methods are supposed to replace .live()
and such.
I tried it with a dynamic item:
$(".myList").on('click', function(e){
alert('hello world');
});
This is not working for me for elements added after DOM is loaded.
Is code above a valid example for jQuery 1.7's .on()
and .off()
methods?
See http://blog.jquery.com/2011/11/03/jquery-1-7-released/ for live() -> on/off() (and other) examples.
This is their example for converting live to on:
$('a').live('click', fn);
$(document).on('click', 'a', fn);
So your example becomes to:
$(document).on('click', '.myList', function(e){
alert('hello world');
});
Here is a little example:
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>
"Bind" with:
$(document).on('click','.myDiv',function(){ ... });
And "unbind" with:
$(document).off('click','.myDiv');