jQuery .one方法使用困惑:需为元素绑定单次触发的mouseover事件
关于jQuery .one() 方法的事件绑定疑问解答
嘿,我懂你一开始的困惑——原本以为jQuery的.one()方法可能达不到预期,但其实你想要的效果它完全能实现!
先明确一下.one()的实际行为:它是为每个匹配元素的指定事件,独立绑定一个仅触发一次的处理函数,也就是说:
#someID的mouseover事件触发第一次后,这个元素的该事件就会被自动解绑,后续再触发mouseover也不会执行对应的处理代码#someOtherID的mouseover事件是完全独立的,它只会在自身第一次触发时执行处理函数,和#someID的事件互不影响
你写的代码逻辑完全符合需求:
$("#someID").one('mouseover', function() { // 这段代码只会在#someID第一次mouseover时执行 }); $("#someOtherID").one('mouseover', function() { // 这段代码只会在#someOtherID第一次mouseover时执行 });
UPDATE:经过实际代码验证,上述写法可以正常运行,每个元素的mouseover事件都会各自仅触发一次,不会出现互相干扰的情况。
内容的提问来源于stack exchange,提问作者Santiago Welbes
相关产品推荐
相关产品推荐

