use*_*265 5 html javascript jquery
我正在读我的同事的代码,我想知道性能是否可以提高.对于任何按钮事件,都有类似的代码:
一个)
$("body").on("click", ".aButtonName", function() { ....});
$("body").on("click", ".aButtonName", function() { ....});
$("body").on("click", ".aButtonName", function() { ....});
....
$("body").on("click", ".aButtonName", function() { ....});
Run Code Online (Sandbox Code Playgroud)
b)点击主体后,分析每个目标事件会更快吗?
$(document.body).on('click', function( e ){
var trg = $(e.target).closest('button');
if(!trg || !trg.attr('class'))
return;
if ( trg.attr('class').indexOf('my_button') > -1) {
....
Run Code Online (Sandbox Code Playgroud)
小智 1
它很可能会降低性能。在第二种情况下,您最终会执行回调函数、传递参数并执行几次 DOM 交互以退出。在第一个例子中,jQuery 执行选择器匹配,并且仅在匹配时才执行该函数。
在这两种样式中,一旦事件“冒泡”(传播)到body. 这种“委托风格”检查选择器是否与目标(或父级)匹配。
正如其他人所建议的,缓存$("body")将节省大量 DOM 查询,并且通过使用比body.
| 归档时间: |
|
| 查看次数: |
115 次 |
| 最近记录: |