【发布时间】:2014-06-19 18:32:25
【问题描述】:
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 秒后改变值。有什么缺陷或什么吗?谁能帮忙找出问题所在?
【问题讨论】:
-
见here,同样的问题。问题是
this的范围,您应该在setTimeout之外创建对它的引用 -
问题是你传递给
setTimeout()的函数中this的值不是你想要的。 -
是的,明白了,问题解决了,请把它作为你的答案:)
标签: javascript jquery