【问题标题】:how i can execute a jQuery function after a time period when event fire in jQuery?我如何在 jQuery 中触发事件的一段时间后执行 jQuery 函数?
【发布时间】:2011-08-01 23:27:03
【问题描述】:
我想在 300 毫秒后触发文本框的 keyup 事件
$("#blah").keyup(function () {
//code is here
}).delay(300).myfunction();
当我尝试执行此函数时,我发现 myfunction 不是函数的错误。
所以任何人都可以解释我如何在文本框中键入后 300 毫秒后执行函数
【问题讨论】:
标签:
jquery
events
textbox
onkeyup
【解决方案1】:
function myFunction () {
// Code to do stuff after 300ms
}
$("#blah").keyup(function () {
// Code to do stuff immediately
setTimeout(myFunction, 300);
});
【解决方案2】:
必须定义myfunction!
$("#blah").keyup(function () {
setTimeout(function(){
myfunction();
},300);
})
【解决方案3】:
正如docs 所说,从 1.4 版开始,您可以使用 delay() 函数
$( "#foo" ).slideUp( 300 ).delay( 800 ).fadeIn( 400 );