繁体   English   中英

jQuery keyup延迟被忽略

[英]jquery keyup delay is being ignored

好的,也许有人可以启发我了解我在这里所缺少的。 我有一个文本框,可根据用户输入使用ajax调用更新jquery数据表。 显然,人们的愿望是仅在用户完成输入后才触发ajax调用。

但是,无论我从SO或其他任何地方尝试使用什么代码片段,超时都将被忽略,并且ajax立即启动。 我想知道是否有人会指出我正确的方向。

    var timer;
$("#search_query").on('keyup', function() {
    clearInterval(timer);  //clear any interval on key up
    timer = setTimeout(alert("test"), 3000);
});

您必须将函数作为第一个参数传递给超时函数。 现在,您要传递alert(“ test”)调用的结果。

   var timer;
$("#search_query").on('keyup', function() {
    clearInterval(timer);  //clear any interval on key up
    timer = setTimeout(function(){ alert("test"); }, 3000);
});

这应该工作。

试试这个setTimeout( 'you need to pass function here', 300 )

var timer;
$("#search_query").on('keyup', function() {
    clearInterval(timer);  //clear any interval on key up
    timer = setTimeout(hello, 3000);
});

function hello(){ 
    alert("test"); 
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM