基本上我有一个传递这个的函数...我需要这个函数在点击按钮后 1/3 秒执行,所以我想做的是:
setTimeout("somefunction(this)", 3000);
据我所知,setTimeout("", x);与“”一起工作 但它不起作用。
我已经尝试过不使用 ""并且它不会工作我尝试过:
setTimeout("somefunction("+this+")", 3000);
还是不行。喜欢一个小时的尝试。
如有任何帮助,我们将不胜感激。
最佳答案
你需要使用闭包
var that = this;
setTimeout( function(){ somefunction(that); }, 3000);
关于javascript - 尝试为函数设置超时并传递变量 - 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11727777/