0

当用户停止输入 Jquery 时,是否有任何可以在 5 秒后调用的函数?

谢谢

4

5 回答 5

5
function afterTypeProcess(){
   //Dosomething
}

var timeid;

$("input").keyup(function(){
   clearTimeout(timeid);
   timeid = setTimeout(afterTypeProcess, 5000);
});
于 2012-10-08T13:08:31.970 回答
1

只需清除并重置每个keyup事件的超时:

​var countdown;
$("textarea:first").on("keyup", function(){
    clearTimeout(countdown);
    countdown = setTimeout(function(){
        console.log("Fired");
    }, 5000);
});​​

小提琴:http: //jsfiddle.net/FQtDn/

于 2012-10-08T13:10:06.023 回答
0

请在这里检查这个jsfiddle

$(document).on("change", ".test", function(){
    window.setTimeout(dothis, 5000);

});

function dothis(){
    alert('test');
}
于 2012-10-08T13:28:52.287 回答
0

keyupsetTimeout应该可以解决问题。您可以在此处查看 jsfiddle 以获取文本输入

您可以使用以下代码检查 keyup

$("#entersomething").keyup(function(e) {
    setTimeout(function(){ alert("up"); }, 5000);
});
于 2012-10-08T13:14:45.087 回答
0

设置超时?

https://developer.mozilla.org/en-US/docs/DOM/window.setTimeout

于 2012-10-08T13:06:33.797 回答