2011-08-31 76 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

相关问题