如何在 IE 中使用 relatedTarget(或等效)?
How to use relatedTarget (or equivalent) in IE?
显然 IE (11) 在 relatedTarget
方面存在问题,例如 blur
事件。 IE 是否有替代方法来获取 relatedTarget
?
下面是一个在 IE 中产生错误的例子:
https://jsfiddle.net/rnyqy78m/
如果我查看此列表:https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget 模糊不包含在标准次要目标中。所以我假设 chrome 中模糊的次要目标是非标准的。
如果你用 focusin 或 focusout 替换模糊,它对我来说也适用于 IE11。
看起来 IE11 在调用模糊事件之前将 document.activeElement 设置为下一个焦点元素。因此,要在包括 IE11 在内的所有浏览器中正确处理模糊,您可以使用类似
var target = evt.relatedTarget;
if (target === null) { target = document.activeElement; }
我改编了你的fiddle来使用这个:https://jsfiddle.net/hukt0rhj/
显然 IE (11) 在 relatedTarget
方面存在问题,例如 blur
事件。 IE 是否有替代方法来获取 relatedTarget
?
下面是一个在 IE 中产生错误的例子: https://jsfiddle.net/rnyqy78m/
如果我查看此列表:https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/relatedTarget 模糊不包含在标准次要目标中。所以我假设 chrome 中模糊的次要目标是非标准的。
如果你用 focusin 或 focusout 替换模糊,它对我来说也适用于 IE11。
看起来 IE11 在调用模糊事件之前将 document.activeElement 设置为下一个焦点元素。因此,要在包括 IE11 在内的所有浏览器中正确处理模糊,您可以使用类似
var target = evt.relatedTarget;
if (target === null) { target = document.activeElement; }
我改编了你的fiddle来使用这个:https://jsfiddle.net/hukt0rhj/