簡體   English   中英

jQuery模式對話框多次打開

[英]jQuery modal dialog opens multiple times

您能幫我了解為什么我的JavaScript函數多次打開模式彈出窗口嗎? 因此,如果我第一次單擊該鏈接,則出現模態,然后將其關閉並再次打開-如果要關閉它,則應按兩次Cancel,等等。

這是我的代碼:

<script type="text/javascript">
  $(function () {

      $('.modal-class').click(function () {
          $("#modal-popup").load(this.href, function () {
              var target = document.getElementsByClassName("modal-popup")
              $(target).dialog({
                  autoOpen: true,
                  closeOnEscape: true,
                  width: 400,
                  resizable: false,
                  title: 'Login Form',
                  modal: true,
                  buttons: {
                      Login: function() {
                      // perform login
                $.post("@Url.Action("Login", "User")",
                {
                    username: $('#Email').val(),
                    password: $('#Password').val()
                },
                function() {
                        $('.modal-popup').dialog("close");
                        $('#main').load("@Url.Action("Index", "User")",
                        {
                            uniqueName: $('#Email').val()
                        });
                });
            },
                      Cancel: function () {
                          $(this).dialog("close");
                      }
                  }
              });
          })
          return false;
      });
  });

您只需初始化一次模型。 只要觸發click事件,就可以執行此操作。 第一次初始化后,每次執行以下行以打開對話框。

$(target).dialog("open");

另外,您應該將選項“ autoOpen”設置為false。 否則,頁面加載時將打開模式模式。

也許在沒有您的JavaScript代碼(框架的一部分)的情況下,點擊即可打開模態? 您也有html代碼示例嗎?
嘗試在此javascript代碼的第一行添加e.PreventDefault() ,看看會發生什么。

您需要在modal-popup div上放置一個style ='display:none'。 我很確定這是.dialog(“ open”)操作的屬性。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM