gpt4 book ai didi

javascript - jQuery $(window).blur 与 native window.onblur

转载 作者:可可西里 更新时间:2023-11-01 01:27:06 26 4
gpt4 key购买 nike

使用jQuery的优势是什么

$(window).blur(function() { ... })

附加一个事件处理程序而不是直接用

设置它
window.onblur = function() { ... }

似乎后者不太健壮,因为它只支持一个模糊处理程序,当与其他包一起使用时,其他代码可能会用另一个函数覆盖 window.blur 值。但是,jQuery 实现不会也发生这种情况吗,它可能使用 window.blur 作为其底层实现?

编辑: 一些人还提到了 window.addEventListener 替代方案,它可以用来添加一个 'onblur' 事件以上方法。

最佳答案

$(window).blur(function() { ... })

让您添加一个或多个事件处理程序。


window.onblur = function() { ... }

让您只有一个事件处理程序来处理模糊事件。


前者使用jQuery自带的事件句柄机制。对 .blur() 的调用将委托(delegate)给 jQuery.fn.on(),后者又将委托(delegate)给 jQuery.event.add。此 add() 方法将为给定的事件类型创建它自己的处理程序,并告诉 addEventListener() 在触发给定类型的事件时调用此处理程序。所以基本上 jQuery 有它自己的事件处理方式,它依赖于 addEventListener() 来正确执行。

后者只是一个只能包含一个值的属性,因此不可能对事件处理程序进行排队。

我写了一个小例子来证明这一点:http://jsfiddle.net/GnNZm/1/

关于javascript - jQuery $(window).blur 与 native window.onblur,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22415296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com