Javascript 为什么InternetExplorer 11不';t在非活动选项卡中触发事件?

Javascript 为什么InternetExplorer 11不';t在非活动选项卡中触发事件?,javascript,internet-explorer,cross-browser,Javascript,Internet Explorer,Cross Browser,我对IE11有一个问题:我在js中打开新窗口,并在旧窗口中绑定一个事件。但当旧窗口处于非活动状态时,它不起作用。当我快速切换选项卡时-它工作,当我使用window.blur从新选项卡移除焦点时也工作 这是我的代码: var win = window.open(url); //win.blur(); trash solution this.bindLoadEvent(win, function() { element.invoke(); }); bindLoadEvent: funct

我对IE11有一个问题:我在js中打开新窗口,并在旧窗口中绑定一个事件。但当旧窗口处于非活动状态时,它不起作用。当我快速切换选项卡时-它工作,当我使用window.blur从新选项卡移除焦点时也工作

这是我的代码:

var win = window.open(url);
//win.blur(); trash solution
this.bindLoadEvent(win, function() {
     element.invoke();
});

bindLoadEvent: function (win, handler) {
     if (win.addEventListener) {
            win.addEventListener('load', handler, true);
     } else {
            win.attachEvent('onload', handler);
     }
}
IE似乎不会在非活动选项卡中触发事件


另外,我还在Firefox和Chrome上进行了测试,效果很好

加载事件可能在附加处理程序之前发生

尝试在附加事件处理程序之前检查窗口是否已加载:

bindLoadEvent = function (win, handler) {
    if (win.document.readyState === "complete") {
      setTimeout(handler, 0);
    } else if (win.addEventListener) {
      win.addEventListener('load', handler, true);
    } else {
      win.attachEvent('onload', handler);
    }
  };
有关更多信息,请查看和回答问题

我找到了这篇文章:但我仍然无法触发事件