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
是的,知道了,問題解決了,請把它作爲你的回答:) –