2011-08-31 66 views
0

在原來的JavaScript是有我想這阻止它用另一個Javascript調用停止Javascript函數?

setTimeout('open_popup()', 200); 

什麼是功能,從另一個文件JS

+0

你的意思是你想停止setTimeout? –

+1

http://stackoverflow.com/questions/3141064/how-to-stop-all-timeouts-and-intervals-using-javascript有幫助 – ssell

+0

當你在'setTimeout'中放置一個字符串時,它會被'eval'ed 。 'setTimeout'需要一個函數作爲第一個參數,所以你可以使用'setTimeout(open_popup,200)'。 – Zirak

回答

3

setTimeout回報,你可以使用清晰的超時手柄停止此:

var timer = setTimeout(open_popup, 200); 

clearTimeout(timer); 

這當然假設您將timer變量放在兩個腳本均可訪問的範圍內,並且您在清除超時之前清除超時。

+2

另請注意,他將實際函數傳遞給'setTimeout()',而不是將字符串傳遞給'eval()'d。使用'eval()'(或者內部有'eval()'的代碼)的任何其他函數通常被認爲是不好的做法。見http://stackoverflow.com/questions/86513/why-is-using-javascript-eval-function-a-bad-idea – shesek

+0

不工作這段代碼plz看到這段代碼我不會停止 manshyz

相關問題