我在asp.net工作,并且有一个带有按钮的表,该按钮呈现模式弹出窗口。如果我多次单击此按钮会弹出多个模态,这是我不想要的。我的职业生涯中没有做过很多JavaScript,但是我有以下代码。我认为我使用的条件逻辑可能没有必要,也许有一些JavaScript函数可以更好地服务于此目的。这是代码,.singleAction指的是按钮。
$(document).ready(function () {
var isClicked = false;
$('.singleAction').click(function (e) {
e.preventDefault();
if (isClicked = true) {
return;
}
else {
isClicked = true;
event.stopPropagation();
}
}).done(function(){
isClicked = false;
});
答案 0 :(得分:0)
$(document).ready(function () {
var isModalOpen = false;
$('.singleAction').click(function (e) {
e.preventDefault();
if (isModalOpen) {
return;
}
else {
isModalOpen = true;
event.stopPropagation();
}
});
// Some logic to set isModalOpen to false once the
// modal is closed...
// ...
});
您的代码最大的问题是if语句。您分配的是真实而不是检查相等性。在JavaScript中,当检查布尔值时,只需使用变量名称。查看JavaScript中的Truthy / Falsey值。 http://adripofjavascript.com/blog/drips/truthy-and-falsy-values-in-javascript.html