簡體   English   中英

我想在離開頁面之前顯示模態彈出窗口

[英]I want to show modal popup before leaving the page

<a href="https://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_modal&stacked=h" id="leave">click here to leave the page</a>


<div id="myModal" class="modal fade" role="dialog">
  <div class="modal-dialog">

    <!-- Modal content-->
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal">&times;</button>
        <h4 class="modal-title">Modal Header</h4>
      </div>
      <div class="modal-body">
        <p>Changes made may not be saved.</p>
      </div>
      <div class="modal-footer">
        <button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
      </div>
    </div>

  </div>
</div>

$("#leave").click(function() {
  $(window).bind('beforeunload', function() {
    return 'Changes you made may not be Saved';
  });
});

這是我正在處理的 js 小提琴

您可以阻止leave鏈接的默認行為,顯示對話框並使用超時在幾秒鍾內重定向頁面。

例子:

$("#leave").click(function(e) {
  e.preventDefault();
  var link = this.href;
  //code to show dialog
  window.setTimeout(function() {    
    window.location.href = link;
  }, 2000);
});

此外,您需要將腳本代碼包裝在script html 標記中。

為什么不能在模態按鈕內設置重定向邏輯並讓a元素顯示模態。這似乎是一個更簡單的解決方案。

 $("#leave").click(e => { e.preventDefault() $("#myModal").modal({ show: true }) }) $("#proceedLeaveBtn").click(() => { window.location.href = "https://www.w3schools.com/bootstrap/tryit.asp?filename=trybs_modal&stacked=h" })
 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet" /> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script> <a href="#" id="leave">click here to leave the page</a> <div id="myModal" class="modal fade" role="dialog"> <div class="modal-dialog"> <!-- Modal content--> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal">&times;</button> <h4 class="modal-title">Modal Header</h4> </div> <div class="modal-body"> <p>Changes made may not be saved.</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> <button id="proceedLeaveBtn" type="button" class="btn btn-default" data-dismiss="modal">Proceed</button> </div> </div> </div> </div>
您甚至可以在按鈕元素內指定data-href屬性並在單擊處理程序中檢索它。這取決於您。

暫無
暫無

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

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