Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $(窗口).on(';popstate';)在IE中不工作_Javascript_Jquery_Internet Explorer_Bootstrap Modal_Back Button - Fatal编程技术网

Javascript $(窗口).on(';popstate';)在IE中不工作

Javascript $(窗口).on(';popstate';)在IE中不工作,javascript,jquery,internet-explorer,bootstrap-modal,back-button,Javascript,Jquery,Internet Explorer,Bootstrap Modal,Back Button,$window'popstate'事件在IE浏览器后退按钮中不起作用。下面是用于删除back按钮上的一些模态类的代码片段 $(window).on('popstate', function(event) { event.preventDefault(); event.stopPropagation(); $('.modal-backdrop').remove(); $('body').removeClass( 'modal-open' ); }); 问题-打开模

$window'popstate'
事件在IE浏览器后退按钮中不起作用。下面是用于删除back按钮上的一些模态类的代码片段

$(window).on('popstate', function(event) {
    event.preventDefault();
    event.stopPropagation();
    $('.modal-backdrop').remove();
    $('body').removeClass( 'modal-open' );
});
问题-打开模式并单击浏览器后退按钮时,尝试删除上一页上的模式类,这是在单击浏览器后退按钮后出现的

在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);
}

当我在chrome中使用它时,我观察到一件事,点击后退按钮,它会捕获所有以前的事件,比如,如果我第一次点击后退,然后进入下一页,然后再次返回,它会调用函数2次,如果我点击后退,再次返回,它会被调用3次。我可以知道这有什么影响吗?我不认为这个问题与这个代码有关,因为在chrome中根本没有调用hashchange,只调用了popstate,这与您之前的代码完全相同。它工作正常。需要对上述问题再做一次澄清。有没有办法阻止上述行为。就像我点击后退按钮,第二次它会调用这个函数2次,第三次它会调用这个函数3次。有没有更好的方法来避免这种情况?请您为此创建一个单独的问题,这样就可以分离关注点,将来的用户可以在搜索so时获得特定问题的具体答案。并结合实例对问题进行了详细的说明。此外,请解释您在其上测试的所有浏览器详细信息。