$(Windows).ON('popstate&)在IE中不起作用

$(window).on(amp;#39;popstateamp;#39;) is not working in IE($(Windows).ON(amp;#39;popstateamp;)在IE中不起作用)

本文介绍了$(Windows).ON('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);
}

这篇关于$(Windows).ON('popstate&)在IE中不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:$(Windows).ON('popstate&)在IE中不起作用