要做一個後台,編輯文章的功能,產品要求,當用戶點開編輯窗口進行修改並沒有保存時,點擊編輯窗口以外的任何地方,阻止默認事件,彈窗令用戶選擇是否保存後再執行默認事件。
想來想去沒有很好的解決辦法,求一個思路.
問題主要在於不是關閉瀏覽器觸發彈框,而是點擊頁面上的非編輯視窗部分時都要觸發,而這些部分裡有各種綁定事件、連結之類的。
要做一個後台,編輯文章的功能,產品要求,當用戶點開編輯窗口進行修改並沒有保存時,點擊編輯窗口以外的任何地方,阻止默認事件,彈窗令用戶選擇是否保存後再執行默認事件。
想來想去沒有很好的解決辦法,求一個思路.
問題主要在於不是關閉瀏覽器觸發彈框,而是點擊頁面上的非編輯視窗部分時都要觸發,而這些部分裡有各種綁定事件、連結之類的。
原本的想法是能不能透過在編輯視窗中加入失焦事件,彈出自訂confirm,根據confirm的選擇判斷是否執行預設事件,結果還是放棄了…
最後只能為每個連結和事件新增判斷方法,傳入預設執行函數作為回調參數
類似
<code><a href="index.php">首页</a></code>
改為
<code><div id="myconfirm"> <p>确认离开?</p> <button id="yes">是</button><button id="no">否</button> </div> <a href="javascript:void(0)">首页</a> <script> $('a').click(function(){ myconfirm(function(){ window.location.href="index.php"; },function(){ return false; }); }); function myconfirm(fun_yes,fun_no){ $('#yes').unbind(); $('#no').unbind(); $('#yes').click(function(){ fun_yes(); }); $('#no').click(function(){ fun_no(); }); $('#myconfirm').show(); } </script></code>
一個很流行的對話框插件,
http://aui.github.io/artDialo...
監聽瀏覽器關閉事件
給編輯器綁定onblur事件不行嗎?