jquery中ON方法的使用

以前在jquery中绑定动态元素一直使用live,现在才发现live已经被抛弃了,现在如果想实现live方法,可以使用最新的ON方法,具体使用如下:

替换live()

live()写法

  $('#list li').live('click', '#list li', function() {
    //function code here.
}); 


on()写法


$(document).on('click', '#list li', function() {
    //function code here.
});


这里的关键就是第二个参数'selector'在起作用了。它是一个过滤器的作用,只有被选中元素的后代元素才会触发事件。

替换delegate()
delegate()是1.4引入的,目的是通过祖先元素来代理委派后代元素的事件绑定问题,某种程度上和live() 优点相似。只不过live()是通过document元素委派,而delegate则可以是任意的祖先节点。使用on()实现代理的写法和 delegate()基本一致。

delegate()的写法

$('#list').delegate('li', 'click', function() {
    //function code here.
});


on()写法

 

$('#list').on('click', 'li', function() {
    //function code here.
});


貌似第一个和第二个参数的顺序颠倒了一下,别的基本一样。

posted on 2014-07-28 16:50  面壁偷笑  阅读(405)  评论(0编辑  收藏  举报