javascript – setTimeout(“this.disabled = false”,3000);不管用

当用户在很短的时间内(例如双击速度)多次单击提交按钮时,我试图阻止重复数据到数据库.首先,我在一次点击后禁用按钮,然后在3秒后再次启用按钮.我不知道为什么setTimeout(“this.disabled = false”,3000);不是在 jquery上工作.请帮帮我,下面是我的代码:

$(function() { 
    $(".btnSendResp").click(function() {
        this.disabled = true;
        setTimeout("this.disabled=false",3000);
        postinResp();
    });
});
你错了.

您需要在局部变量中保存对此的引用,然后将函数传递给使用该变量的setTimeout.

例如:

var self = this;
setTimeout(function() { 
    self.disabled = false;
}, 3000);
相关文章
相关标签/搜索