.delegate()

jquery .live() .delegate() .bind() .click()区别

戏子无情 提交于 2020-02-29 10:48:36
什么是.live()? 除了让你对Dom元素现在和将来绑定事件之外,.live() 方法和.bind()方法很像。你可以用.live()方法对没有存在的Dom节点绑定事件。考虑下面的情况。 当用户要离开你的站点时,点击任何连接,你可以警告他: $(document).ready( function() { $('a').click( function() { alert("You are now leaving this site"); return true; }); }); 注意:.click()相对于.bind()方法仅仅是一个方便的方法,所以下面的方法和上面是等价的: $(document).ready(function(){ $('a').bind('click',function(){ alert('You are leaving this site'); return true; }) }) 但是现在,你通过javascript在页面添加另一个链接。 $('body').append('<div><a href="...">Check it out !</a></div>'); 现在,当用户点击链接时,你的方法不会触发。因为当你对页面所有的<a> 节点,绑定事件的时候,那个链接并不存在。所以我们可以简单的使用.live()取代.bind()。 $(document)