Javascript 为什么InternetExplorer 11不';t在非活动选项卡中触发事件?
我对IE11有一个问题:我在js中打开新窗口,并在旧窗口中绑定一个事件。但当旧窗口处于非活动状态时,它不起作用。当我快速切换选项卡时-它工作,当我使用window.blur从新选项卡移除焦点时也工作 这是我的代码: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
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);
}
};
有关更多信息,请查看和回答问题 我找到了这篇文章:但我仍然无法触发事件