setTimeout函数不按预期工作。 这里是我的代码:setTimeout函数不能使用值更改
$(document).delegate('.pur','click', function(e){
var productid = $(this).attr('id');
var quantity = $('#qua').val();
if(quantity>0){
this.value='Adding';
}
else{
this.value='Min 100';
setTimeout(function(){this.value='Buy now'}, 3000);
}
});
上面的代码不会在所有的工作,它不会在3秒后,因为它是意料之中的事改变数值。任何缺陷或其中的东西?任何人都可以帮助找出它有什么问题吗?
见[这里](http://stackoverflow.com/q/11714397/1633510),同样的问题。问题在于'this'的范围,你应该在'setTimeout'之外创建一个引用。' –
问题是你传递给'setTimeout()'的函数中'this'的值不会是什么你想要它。 – Pointy
是的,知道了,问题解决了,请把它作为你的回答:) –