Jquery里live事件移除原因
live()事件
- $('a').live('click', function() { alert("That tickles!") });
live事件Jq把alert函数绑定到$(document)元素上,并使用‘click’和'a'作为参数,任何时候只要有事件冒泡到document节点上,它就会查看该事件的目标元素和'a'标签是否匹配,如果匹配则执行函数。
delegate()事件是基于on实现的
- $("#top").delegate("a","click",function() { alert("That tickles!") });
jq扫描文档查找到$("#top"),并使用click和a作为参数,任何时候只要有事件冒泡到$("#top")上,它就会查看该事件的目标元素和'a'标签是否匹配,如果匹配则执行函数。
live和delegate最大的不同就在灵活性上,live每次操作都是在$(document)对象上发生作用,它属于一种全局性的,但是delegate完全能替代它并且更好,delegate会绑定在需要的范围上发生作用,而不是全局去发生作用,这样性能就会更好