2017-02-13 81 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

相关问题