gpt4 book ai didi

javascript - 有没有办法先使用 unbind() 然后使用带有计时器的 bind() ?

转载 作者:行者123 更新时间:2023-11-28 20:59:01 28 4
gpt4 key购买 nike

如果条件为真,我想在所有链接上使用 unbind(),然后在 1.5 秒后再次绑定(bind)链接。我已经尝试过,但它不起作用:

   if ( /*some condition*/) {
$('a').unbind();
setTimeout(function(){
$('a').bind();
}, 1500);
}

最佳答案

您不能执行此操作,因为 .unbind() 会删除事件处理程序。有关他们的所有信息都丢失了。除非您已经在某处保存了单独的副本,否则您永远无法取回它们。

可以做的就是编写处理程序,使其根据外部条件修改其行为。然后,您可以切换此条件,使其看起来好像处理程序根本没有绑定(bind)。

示例(说明;请不要使用全局变量!):

$('a').click(function() {
if (window.doNothing) {
return;
}
// do something
});

if ( /*some condition*/) {
window.doNothing = true;
setTimeout(function(){
window.doNothing = false;
}, 1500);
}

关于javascript - 有没有办法先使用 unbind() 然后使用带有计时器的 bind() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11510774/

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