我试图使用jQuery的setTimeout的,以调用一个方法每个x时间间隔:的setTimeout功能不能正常工作
$('.text').blur(function() {
doSmth();
});
$('.text').bind("paste", function (e) {
setTimeout(function() {
doSmth();
}, 5);
});
超时不工作,请指教!
我试图使用jQuery的setTimeout的,以调用一个方法每个x时间间隔:的setTimeout功能不能正常工作
$('.text').blur(function() {
doSmth();
});
$('.text').bind("paste", function (e) {
setTimeout(function() {
doSmth();
}, 5);
});
超时不工作,请指教!
你是什么意思与“它不工作”?无论如何setTimeout()是一个JavaScript函数,只在指定的时间间隔后触发一次。
如果你wan't触发东西每五秒钟你应该做的:
var interval = setInterval(doSmth, 5000);
哪里doSmth
是其他地方5000
定义的函数是间隔的毫秒数。如果哟想停止执行的只是做:
clearInterval(interval);
从我读过的内容来看,避免setInterval通常是一个好主意,因为您可以结束堆栈调用。我添加了一个答案,它使用setTimeout来调用一个函数,然后在函数结束时设置一个新的超时,在五秒内再次调用自己。这样,你不能结束一堆电话。 – 2011-12-18 13:46:45
它的工作原理:)...谢谢 – Echo 2011-12-18 17:44:48
首先,它不是“jQuery setTimeout”。 setTimeout
是本地API的一部分,而不是jQuery的API。
二,我假设你想要5秒。目前您正在做5毫秒。
$('.text').bind("paste", function(e) {
setTimeout(function() {
doSmth();
}, 5000);
});
代码中5
的持续时间太短而无法察觉。
setTimeout只执行一次,你应该使用setInterval – 2011-12-18 13:35:30
@NicolaPeluchetti:是的,我解释*“每x时间间隔”*意思是每次发生事件时x的时间间隔。这并不完全清楚是什么意思。 – RightSaidFred 2011-12-18 13:38:01
我看到其他用户的答案setInterval的,但是从我读过,你应该避免使用setInterval的,因为你可以用的不是堆叠结束 - 可是执行的函数调用等
所以,你能做些什么,而不是是这样的:
var myTimeout;
$('.text').bind("paste", function (e) {
function loopFunction() {
doSmth();
myTimeout = setTimeout(loopFunction, 5000);
}
myTimeout = setTimeout(loopFunction, 5000);
});
现在你有一个自称每五秒钟的功能。
我已经更新了我的代码根据你的方法仍然不会自己调用! :$('。sequenceStringArea')。blur(function(){ findMatchedGeneticFeature(); }); var myTimeout; $('。sequenceStringArea')。绑定( “粘贴”,函数(E){ 函数loopFunction(){ findMatchedGeneticFeature(); myTimeout = setTimeout的(loopFunction,1000); } myTimeout = setTimeout的(loopFunction,1000); }); – Echo 2011-12-18 17:29:00
根据您的反馈,这里是解决方案:
var interval = setInterval(doSmth, 5000);
$('.text').blur(function() {
doSmth();
});
$('.text').bind("paste", function(e) {
setTimeout(function() {
doSmth();
}, 0);
});
感谢您的支持惊人。
''setTimeout'只在给定的延迟后调用提供的函数*一次*在这里解释:https://developer.mozilla.org/en/DOM/window.setTimeout并且已经说过,'setTimeout '与jQuery无关。 – 2011-12-18 13:32:40
这就是_Javascript_ – SLaks 2011-12-18 13:33:48