Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jquery键盘暂停捕捉_Jquery - Fatal编程技术网

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);

});
您可以使用jQ
data
API来存储对jQuery 1.5 jqXHR对象中引入的INTR的引用,以便能够
中止请求和计时器,从而可以使用
clearTimeout
停止计时器


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

停止计时器。您可能希望在自定义jQuery事件上查看这些博客文章。您可能希望在自定义的jQuery事件上查看这些博客文章。谢谢汤姆,我会试试这个。谢谢汤姆,我会试试这个。