如何阻止多个模式在多次点击时弹出到同一个按钮(JavaScript)

时间:2016-10-07 17:13:34

标签: javascript asp.net modal-dialog

我在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;
    });

1 个答案:

答案 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