javascript - 禁用 .click() 然后重新启用它

标签 javascript jquery

所以我试图做到这一点,以便一旦元素被单击,单击功能将无法工作,直到我的 $.post 完成。

<div id="textbox_item">Click me</div>

这就是我现在所拥有的,但它不起作用。我假设 .prop('disabled', true) 不适用于 div 元素。有人可以帮我吗?

$("#textbox_item").click(function() {

    //don't let anyone click .textbox_item until $.post is complete
    $("#textbox_item").prop('disabled', true).text("Doing something..");

    $.post("/action", { item: "123" }).done(function( data ) { 
        $("#textbox_item").prop('disabled', false).text("Click me");        
    });

});

最佳答案

考虑设置并检查 .data() 的“禁用”数据属性。

$(".textbox_item").click(function() {
    //don't do anything if #textbox_item has been disabled
    if($("#textbox_item").data('disabled')) { return false; }

    //don't let anyone click .textbox_item until $.post is complete
    $("#textbox_item").data('disabled', true).text("Doing something..");

    $.post("/action", { item: "123" }).done(function( data ) { 
        $("#textbox_item").data('disabled', false).text("Click me");
    });

});

我还注意到您似乎混合了 ID 和类选择器 - 我不知道这是有意还是无意,但我建议您仔细检查以确保您知道要禁用和单击的内容。

关于javascript - 禁用 .click() 然后重新启用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28596709/

相关文章:

javascript - 从 Vuejs 中的 localStorage 中删除值

javascript - 重新定义点击选择器 jQuery

javascript - 在构建 ajax 应用程序时放弃 <form> 标记是否合适?

javascript - GInfoWindow maxContent 取决于当前选择的选项卡

jQuery onClick slideUp 和 addClass 不工作

javascript - 访问 DOM、html 表 <th> 并将表标题保存到变量中。

javascript - 从 href 中的数据将内容加载到 div

javascript - 在 VS Code 中使用 Code Runner 运行 JavaScript 时出现“无法识别 "' 节点”错误

javascript - jQuery - 是否可以在克隆期间更改选择框的选项?

javascript - 我的 map v3 只是拒绝加载