jquery键盘暂停捕捉
我正在捕捉每次按键通话的按键通话事件jquery键盘暂停捕捉,jquery,Jquery,我正在捕捉每次按键通话的按键通话事件 jQuery('#Search').keyup(function() { }); 但我需要一些东西,比如当用户连续输入字符,并在第5个字符或第n个字符处通过时,我只想触发一个ajax调用。这里我们可以使用timeout函数捕捉事件,但是每个按键都会调用timeout函数,所以同样的事情再次发生 若用户在暂停后再次开始键入,那个么它将再次触发一个事件/ajax调用,但仅在某个暂停后 这里我们需要中止之前的事件或ajax调用,因为用户再次开始搜索 所以我使用
jQuery('#Search').keyup(function() {
});
但我需要一些东西,比如当用户连续输入字符,并在第5个字符或第n个字符处通过时,我只想触发一个ajax调用。这里我们可以使用timeout函数捕捉事件,但是每个按键都会调用timeout函数,所以同样的事情再次发生
若用户在暂停后再次开始键入,那个么它将再次触发一个事件/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);
});
您可以使用jQdata
API来存储对jQuery 1.5 jqXHR对象中引入的INTR的引用,以便能够中止请求和计时器,从而可以使用clearTimeout
停止计时器
您可以使用jQdata
API来存储对jQuery 1.5 jqXHR对象中引入的intr的引用,以便能够中止请求和计时器,从而可以使用clearTimeout
停止计时器。您可能希望在自定义jQuery事件上查看这些博客文章。您可能希望在自定义的jQuery事件上查看这些博客文章。谢谢汤姆,我会试试这个。谢谢汤姆,我会试试这个。