所以我试图做到这一点,以便一旦元素被单击,单击功能将无法工作,直到我的 $.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/