gpt4 book ai didi

javascript - 在 keyup 上停止 jquery debounce 的未决操作(和双按键)

转载 作者:行者123 更新时间:2023-11-29 19:27:31 25 4
gpt4 key购买 nike

我有一些代码正在使用名为 debounce 的插件。

插件信息:https://code.google.com/p/jquery-debounce/

我遇到了一个问题,由于去抖动的延迟,按键事件仍然在 keyup 事件之后运行。

例如...如果您要双击空格键,即使您没有按住它超过一秒钟,该功能仍会运行。

很难解释我的问题。我基本上需要一个 stop() 函数在 keyup 事件之后运行以停止附加任何更多文本。

举个例子: http://jsfiddle.net/cTZJU/133/

代码:

function appendFunc() {
$('.output').append('Keypress running');
}


//Debounce the function running too often
$(document).keypress($.throttle(appendFunc, 1500));



$(document).keyup(function() {
/**
* I want to stop any pending keypress actions.
* - Including double keypress
*/
});

非常感谢您。

最佳答案

使用 $(document).clearQueue();在调用 keyup 的函数中。

$(document).keyup(function() {

$(document).clearQueue();

});

您必须将文档上的每个事件绑定(bind)为队列,然后才能使用 clearQueue。你可以像下面这样:

$(document).queue(function(){  

$(this).keypress(function(){ });

});

关于javascript - 在 keyup 上停止 jquery debounce 的未决操作(和双按键),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29990977/

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