gpt4 book ai didi

javascript - jQuery.one 监听多个事件

转载 作者:行者123 更新时间:2023-11-30 10:05:02 26 4
gpt4 key购买 nike

jQuery 的 $.fn.one 应该在触发事件并且监听器运行脚本后关闭。

但是,如果它正在监听多个事件,则不会在其中一个事件触发后关闭所有监听的事件。

使用这个事件监听器:

var transitionend = "webkitTransitionEnd msTransitionEnd transitionend";

$( "foo" ).one( transitionend , function(){

foo.bar();

} );

foo.bar() 方法将在 chrome 中执行 2 次,因为 webkitTransitionEnd transitionend 都触发了。

我正在尝试实现一个优雅的解决方案,在该解决方案中触发一个监听方法会关闭监听器中的所有其他方法。

最佳答案

我认为您最好的选择可能是在事件触发后手动删除绑定(bind)?

类似的东西:

var transitionend = "webkitTransitionEnd msTransitionEnd transitionend";
$( "foo" ).on( transitionend , function(){
foo.bar();
$(this).off(transitionend);
} );

编辑:如果你正在寻找一个看起来更优雅的解决方案(假设你需要经常做这种事情),那么看起来有人已经将上面的内容包装到另一个 Stack Overflow 答案的可重用函数中:https://stackoverflow.com/a/24589200/820822

还有: jQuery's One - Fire once with multiple event types似乎是同一个问题,因此可能有一些其他有用的答案。

关于javascript - jQuery.one 监听多个事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29625897/

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