$(Windows).ON(&;#39;popstate&;)在IE中不起作用
$window 'popstate'
事件在浏览器后退按钮上的IE中不起作用。下面是用于删除Back按钮上的某些模式类的代码片段。
$(window).on('popstate', function(event) {
event.preventDefault();
event.stopPropagation();
$('.modal-backdrop').remove();
$('body').removeClass( 'modal-open' );
});
问题-当Modal打开并单击浏览器后退按钮时,尝试删除上一页上的模态类,而上一页是在单击浏览器后退按钮之后出现的。
在Chrome中工作正常,但在IE中无法进入‘popstate’
欢迎使用任何其他方法删除浏览器上的"后退"按钮上的类。
解决方案
您可以尝试在IE上改用hashchange
事件,如:
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);
}
相关文章