2017-02-13 4 views
1

in Bezug auf Browser-Standard gehen zurück Schaltfläche Verhalten. Meine App hat einen speziellen Fall, um es unter bestimmten Bedingungen zum Beispiel zu ignorieren. Ich habe modal, wenn das Modal geöffnet ist, anstatt zurück zu gehen, schließen Sie einfach das Modal. ich habe keine Ahnung, ob es möglich ist oder keine HilfeSo erhalten Browser zurück Button-Ereignis und verhindert von Standardverhalten

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

sehr [ausführlich] (https://www.irt.org/script/311.htm) – crowchirp

Antwort

0

nach schließlich eine Stunde suchen die Lösung für dieses Problem finden. da ich hier keine aktuelle Antwort gefunden habe. Diese Antwort ist vielleicht für jemanden hilfreich.

$('#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'); 
}); 

wie Sie sehen können, wann immer die modal geöffnet wir gefälschte URL in der Geschichte von pushState() (Browser nicht überprüfen für URLs von dieser Funktion, so dass kein reload auf der Seite erstellt) erstellen, wenn überhaupt Browser zurück gedrückt wird Ein popstate Ereignis wird nach dem Anhängen dieses Ereignisses generiert, um das gelöste Problem zu dokumentieren.

Verwandte Themen