Jquery里live事件移除原因

live()事件

[html] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. $('a').live('click', function() { alert("That tickles!") });  

  live事件Jq把alert函数绑定到$(document)元素上,并使用‘click’和'a'作为参数,任何时候只要有事件冒泡到document节点上,它就会查看该事件的目标元素和'a'标签是否匹配,如果匹配则执行函数。

 

delegate()事件是基于on实现的

 

[html] view plain copy
 
 在CODE上查看代码片派生到我的代码片
  1. $("#top").delegate("a","click",function() { alert("That tickles!") });  

jq扫描文档查找到$("#top"),并使用click和a作为参数,任何时候只要有事件冒泡到$("#top")上,它就会查看该事件的目标元素和'a'标签是否匹配,如果匹配则执行函数。

 

 

live和delegate最大的不同就在灵活性上,live每次操作都是在$(document)对象上发生作用,它属于一种全局性的,但是delegate完全能替代它并且更好,delegate会绑定在需要的范围上发生作用,而不是全局去发生作用,这样性能就会更好

posted @ 2017-02-28 10:04  疯子110  阅读(401)  评论(0编辑  收藏  举报