javascript - 尝试为函数设置超时并传递变量 - 不起作用

标签 javascript jquery

基本上我有一个传递这个的函数...我需要这个函数在点击按钮后 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/

相关文章:

javascript - 如果超出设置的宽度,是否切断 div 中的文本?

javascript - 更改复选框检查的 <div> 背景

javascript - jquery中的可编辑表格单元格

javascript - jQuery DataTables RowReordering 插件 - 关于更改事件?

javascript 取消隐藏 iframe 内的小程序

javascript - 测量响应的延迟

javascript - mac safari 中的 Gif 动画卡住

javascript - 使用 BlueImp jQuery fileupload 将绝对 href 和 src url 附加请求 uri

javascript - 添加溢出 : scroll only when the window size is 1366 * 768 and below

javascript - 如何在html中定义表格的宽度和高度?