问题描述
|
这个问题已经在这里有了答案:
解决方法
答案是,这取决于:
few0ѭ几个元素的速度会更快。每个元素都有一个绑定函数,而其他点击则没有任何开销。
elements1ѭ对于许多元素来说更快。即使绑定了数百个元素,也仅绑定了一个事件处理程序。与为每个元素绑定一个功能相比,检查错过的点击的开销很小。
delegate
总是快于live
。它可以限制它将在页面中侦听事件的位置,并且在绑定时不需要遍历所有元素。
如果您想了解数字,我在一篇有关委托的文章中读到,临界点在3-5个元素左右。少用ѭ0less,多用delegate
。不幸的是,我无法通过链接进行备份,但这是我一直遵循的一般规则。
, live方法附加到文档树root,并在其触发时检查目标,如果匹配,则触发处理函数。
click方法直接绑定到该节点。
您的问题没有简单的答案。有很多情况。如果仅需要将click事件绑定到一个元素,则使用click()。例如,如果您具有链接之类的项目列表,并且可以对其进行动态更改,则应使用live()。
您可以在文档中找到更多信息:live()方法