gpt4 book ai didi

jquery键盘暂停捕获

转载 作者:行者123 更新时间:2023-12-01 07:32:34 24 4
gpt4 key购买 nike

正在捕获对每个 keyup 进行调用的 keyup 事件。

jQuery('#Search').keyup(function() {

});

但是我需要类似当用户连续输入字符并在第 5 个字符或第 n 个字符处传递时,我只想触发 ajax 调用。这里我们可以使用超时函数来捕获事件,但是每次按键都会调用超时函数,因此同样的事情会再次发生

如果用户在暂停后再次开始输入,那么它必须再次触发事件/ajax 调用,但仅在一定的暂停之后。

这里我们需要中止之前的事件或 ajax 调用,因为用户再次开始搜索。

所以我使用.abort();函数来中止之前的调用。

是否有更好的方法来捕获jquery中特定时间段后的事件。请给我建议,

提前致谢

最佳答案

var search = $('#Search'),
search_delay = 100;


search.keyup(function() {
var request = search.data('request');

if(request) { // if request is running - abort it
request.abort();
search.data('request', null);
}

clearTimeout(search.data('timer')); // if timer is running - stop it

search.data('timer', setTimeout(function(){
// add your ajax call here or pass a reference
// to the function that will handle the ajax call
search.data('request', $.ajax(...));
}, search_delay);

});

您可以使用 jQ data API 存储对 jQuery 1.5 jqXHR 对象中引入的引用,以便能够中止请求和计时器,以便您可以停止带有 clearTimeout

的计时器

关于jquery键盘暂停捕获,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4945019/

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