2013-06-05 47 views
0

我正在使用knockoutjs和sammyjs有幾個級別的頁面上工作。
例如HOME/LEVEL1/LEVEL2 /電流 我已經完成了確認功能:確認之前:關閉當前頁面,更改網址,離開當前的'頁面'

我怎樣才能使這樣的:當人們想離開當前頁面,確認消息會出現,以確保他們真正想要離開此頁面(轉到HOME,LEVEL1,LEVEL2,..或者實際上關閉標籤,更改網址)。

回答

0

var app = $.sammy(function() {...});添加以下內容:

// Will run at #/route but not at #/ 
this.before('#/route', function() { 
    if(!window.confirm('Are you sure you want to leave this page?')) { 
     return false; 
    } 
}); 

// will run at #/ but not at #/route 
this.before({except: {path: '#/route'}}, function() { 
    if(!window.confirm('Are you sure you want to leave the home page?')) { 
     return false; 
    } 
}); 

來源:Sammy.Application before (options, callback)

+0

謝謝您的回答。我知道這個功能,它看起來差不多已經完成了,但是1.一旦你點擊取消,頁面仍然會在那裏,但是url被改變了。 2.我想要確認消息只顯示離開該特定頁面。 – riceTale

+0

如果您使用點擊綁定(jQuery,Knockout.js等)而不是錨定標記,則URL不會更改。然後在點擊綁定中,如果確認結果爲true,則更改URL。所以把上面的代碼放在你的綁定中,而不是在Sammy中。 – chrisjsherm