首頁 >後端開發 >php教程 >javascript - js視窗逃生效果求教

javascript - js視窗逃生效果求教

WBOY
WBOY原創
2016-08-04 09:19:381371瀏覽

要做一個後台,編輯文章的功能,產品要求,當用戶點開編輯窗口進行修改並沒有保存時,點擊編輯窗口以外的任何地方,阻止默認事件,彈窗令用戶選擇是否保存後再執行默認事件。
想來想去沒有很好的解決辦法,求一個思路.

問題主要在於不是關閉瀏覽器觸發彈框,而是點擊頁面上的非編輯視窗部分時都要觸發,而這些部分裡有各種綁定事件、連結之類的。

回覆內容:

要做一個後台,編輯文章的功能,產品要求,當用戶點開編輯窗口進行修改並沒有保存時,點擊編輯窗口以外的任何地方,阻止默認事件,彈窗令用戶選擇是否保存後再執行默認事件。
想來想去沒有很好的解決辦法,求一個思路.

問題主要在於不是關閉瀏覽器觸發彈框,而是點擊頁面上的非編輯視窗部分時都要觸發,而這些部分裡有各種綁定事件、連結之類的。

原本的想法是能不能透過在編輯視窗中加入失焦事件,彈出自訂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事件不行嗎?

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn