html 文档绑定事件,jQuery事件处理 – 绑定到文档或“body”元素?

What is the difference performance-wise?

几乎肯定没有,或更准确地说,没有什么可衡量的.理论上来说,$(‘body’)必须搜索DOM的body元素,但这将是非常快的.另外,由于身体是一个文件的小孩,它将在文件冒泡事件纳秒之前到达.

虽然有一些差异:

如果您在头文件中使用了$(‘body’),并没有延迟执行它(准备就绪等),$(‘body’)将找不到任何东西,并且不会挂接任何处理程序.另一方面,$(文件)会.

如果文档的正文没有填写视口,那么至少有一些浏览器,你会得到一个单击文档,但不是在主体上:

$(document).on("click", function() {

$("

document

").appendTo(document.body);

});

$('body').on("click", function() {

$("

body

").appendTo(document.body);

});

body {

border-bottom: 1px solid #060;

}

The line marks the bottom of body. Click above and below the line to see where the click was caught. (Note the line will move as we append to body.)

当然,这不适用于你的$(‘body’).on(‘click’,’.myElement’,function);因为如果点击是身体外,则不会通过.myElement …

对于全局处理程序,我使用$(document),从不$(‘body’)(或$(document.body)),但是这可能更多的是从习惯而不是原因.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值