扫码关注官方订阅号
function clickBtn(btn)
{ setTimeout("btn.value = 'click'",3) }
我需要在3秒之后来设置button的文字,查询无果,故来相问
ringa_lee
用闭包可以很容易的解决,试试下面的代码:
function clickBtn(btn) { setTimeout(function() { btn.value = 'click'; }, 3000); }
另外,3秒是3000,setTimeout后面一个参数的单位是毫秒
setTimeout
var a="yourname";console.log(""+a+"");
function clickBtn(btn) { setTimeout("btn.value = 'click'",3) }
setTimeout指定字符串代码执行的时候是在全局作用域下找btn变量,会执行出错提示ReferenceError: Can't find variable: btn,不推荐使用这样setTimeout的写法使用指定函数的写法
function clickBtn(btn) { setTimeout(function(){ btn.value = 'click'; console.log(btn.value ); },3) }
如果一定要使用原来的写法,那么如下修改
function clickBtn(btn) { window.btn=btn; setTimeout("btn.value = 'click';console.log(btn.value)",3) }
这样会污染全局对象,你的变量有可能被别的函数修改掉,危险~~~~
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
扫描下载App
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
用闭包可以很容易的解决,试试下面的代码:
另外,3秒是3000,
setTimeout
后面一个参数的单位是毫秒var a="yourname";
console.log(""+a+"");
setTimeout指定字符串代码执行的时候是在全局作用域下找btn变量,会执行出错提示ReferenceError: Can't find variable: btn,
不推荐使用这样setTimeout的写法
使用指定函数的写法
如果一定要使用原来的写法,那么如下修改
这样会污染全局对象,你的变量有可能被别的函数修改掉,危险~~~~