Javascript 比较jQuery选择器的效率,哪一个效率更高
以下哪种方法更有效?有什么区别 A BJavascript 比较jQuery选择器的效率,哪一个效率更高,javascript,jquery,html,css,Javascript,Jquery,Html,Css,以下哪种方法更有效?有什么区别 A B 视情况而定 A优点 .picker可能不仅仅是几个。将处理程序委派给父级,而不将处理程序附加到每个。picker可以减少开销 如果.picker是动态加载的元素,但需要提前设置处理程序 B优势 处理程序直接位于元素上。事件不需要在DOM中冒泡来触发处理程序 在类似的上下文中,.live被弃用,因为处理程序被放置在DOM树中最高的节点文档上。它会导致延迟。您是否尝试过在浏览器的开发工具或类似于jsperf的网站上对此进行分析?它们不可比较,因此它们的
视情况而定
A
优点
可能不仅仅是几个。将处理程序委派给父级,而不将处理程序附加到每个.picker
可以减少开销。picker
- 如果
是动态加载的元素,但需要提前设置处理程序.picker
B
优势
- 处理程序直接位于元素上。事件不需要在DOM中冒泡来触发处理程序
在类似的上下文中,
.live
被弃用,因为处理程序被放置在DOM树中最高的节点文档上。它会导致延迟。您是否尝试过在浏览器的开发工具或类似于jsperf的网站上对此进行分析?它们不可比较,因此它们的“效率”是不相关的。您正在比较选择器(DOM选择)?还是事件处理的效率?我不知道你在问什么。就像@DavidThomas建议的那样,你的两行代码做了两件不同的事情。至于区别:如果有许多.picker
元素,或者如果它们是动态创建的,那么使用B是有意义的,否则我会使用A。
$("body").on('click', '.picker', function(){ alert("A");});
$('.picker').on('click', function(){ alert("B");});