$(window).on('popstate')在IE中不起作用 [英] $(window).on('popstate') is not working in IE
问题描述
$ window'popstate'
事件在IE中的浏览器后退按钮上不起作用.下面是用于删除后退按钮上某些模式类的代码段.
$window 'popstate'
event is not working in IE on browser back button. Below is the code snippet which is getting used to remove some modal classes on back button.
$(window).on('popstate', function(event) {
event.preventDefault();
event.stopPropagation();
$('.modal-backdrop').remove();
$('body').removeClass( 'modal-open' );
});
问题-打开模态并单击浏览器后退按钮时,尝试删除上一页的模态类,该类将在单击浏览器后退按钮后出现.
Issue - when Modal is open and on click of browser back button trying to remove modal classes on previous page which is coming after click of browser back button.
在chrome中可以正常工作,但在IE中不会进入"popstate"
任何其他删除浏览器后退"按钮上的类的方法将受到赞赏.
In chrome it is working fine but in IE it's not going inside 'popstate'
Any other way to remove classes on browser back button will be appreciated.
推荐答案
您可以尝试在IE上尝试使用 hashchange
事件,例如:
You can try using hashchange
event instead on IE like:
function onHistoryChange(event) {
event.preventDefault();
event.stopPropagation();
console.log('On History Change');
$('.modal-backdrop').remove();
$('body').removeClass('modal-open');
}
if (window.document.documentMode) {
// This is IE, use hashchange instead
$(window).on('hashchange', onHistoryChange);
} else {
$(window).on('popstate', onHistoryChange);
}
这篇关于$(window).on('popstate')在IE中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!