2017-02-13 80 views
1

關於瀏覽器默認返回按鈕行爲。例如,我的應用程序有一個特殊情況,可以在某些情況下忽略它。 我有模態,如果模態打開,而不是回去只是關閉模態。 我不知道,如果它找了一個小時終於找到了解決這個問題之後,可能有任何幫助如何獲取瀏覽器返回按鈕事件並阻止默認行爲

function keyEventClose(event){ 
     var status = $('#myModal').is(':visible'); 
     if(status){ 
     //prevent from going back just close the modal 
     $('#myModal').modal('hide'); 
     }else{ 
     //go back as default 
      window.history.back(); 
     } 
    } 
+0

非常[精心製作](https://www.irt.org/script/311.htm) – crowchirp

回答

0

。因爲我在這裏沒有找到當前的答案。所以這個答案可能對某個人有幫助。

$('#openfeed').on('shown.bs.modal', function() { 
    var stateObj = { foo: "modal-opened" }; 
    history.pushState(stateObj, "modal-opened", "modal-opened"); 
}) 

window.addEventListener('popstate', function(event) { 
    $('#openfeed').modal('hide'); 
}); 

,你可以看到當過的模式被打開,我們通過pushState()創造了歷史假冒URL(瀏覽器不檢查這個功能,所以在頁面上沒有重載創建網址)時當過瀏覽器回去在附加此事件後記錄解決問題後會生成一個事件popstate

相關問題