如何在IE中使用relatedTarget(或等效)?

时间:2016-12-23 09:46:23

标签: javascript internet-explorer events onblur

显然,IE(11)与relatedTarget存在问题,例如blur事件。 IE有替代方法来获取relatedTarget吗?

以下是在IE中产生错误的示例: https://jsfiddle.net/rnyqy78m/

2 个答案:

答案 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。