2011-06-10 20 views
0

我最近發佈關於onbeforeunload實現。它現在的工作,但只解決了一半的問題。我的應用程序有很多選項卡,如果他在不保存更改的情況下點擊新選項卡,我想向用戶拋出同樣的確認。所有的標籤都是div元素。你如何實現這樣的事情? 附有樣本選項卡結構,其中每個選項卡都加載一個新頁面。 enter image description here如何實現div的onbeforeunload行爲?

+0

標籤上發生了什麼?需要了解的是,在知道如何爲他們捕獲狀態之前,我可能會爲所有檢查爲任何給定選項卡設置的狀態的選項卡分配點擊處理程序。 – kinakuta 2011-06-10 19:20:22

+0

我想象你不得不使用一個庫來監聽特定元素的破壞。我知道YUI有一個節點的「銷燬」事件,我不使用jQuery,但我敢打賭,他們有類似的東西。 – Chris 2011-06-10 19:24:21

+0

如user156629建議的那樣,我會在任何地方捕捉任何未保存的更改,如果有一些,點擊__load__新標籤會觸發確認。 – Kraz 2011-06-10 19:28:38

回答

0

像這樣的東西會幫助你。您需要將clickHandler添加到每個選項卡單擊事件。

var dirty = false; 

function clickHandler(){ 
    if (dirty && confirm('you are leaving the tab, wanna stay and save?')){ 
     return false; //prevent default 
    } 
    else { 
     dirty = false; 
     //trigger your tab load 
    } 
} 
相關問題