显然,IE(11)与relatedTarget
存在问题,例如blur
事件。 IE有替代方法来获取relatedTarget
吗?
以下是在IE中产生错误的示例: https://jsfiddle.net/rnyqy78m/
答案 0 :(得分:10)
看起来IE11在调用blur事件之前将document.activeElement设置为下一个focus元素。因此,要在包括IE11在内的所有浏览器中正确处理模糊,您可以使用类似
的内容var target = evt.relatedTarget;
if (target === null) { target = document.activeElement; }
我调整了你的小提琴使用它:https://jsfiddle.net/hukt0rhj/
答案 1 :(得分:7)
如果我查看此列表:https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget模糊不包含在标准辅助目标中。所以我认为chrome中模糊的次要目标是非标准的。
如果你通过focusin或focusout替换模糊,它对我来说也适用于IE11。