我試圖使用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