Javascript事件的relatedTarget属性知多少?

Javascript事件的relatedTarget用的场景不是很多,但我们一样需要了解,relatedTarget属性用于返回当前事件涉及到的其他DOM元素。

Javascript事件的relatedTarget属性知多少?

对于focus事件而言,relatedTarget属性返回失去焦点的DOM元素(如果有的话)。
对于blur事件而言,relatedTarget属性返回获得焦点的DOM元素(如果有的话)。
对于mouseenter和mouseover等事件而言,relatedTarget属性返回被离开的DOM元素。
对于mouseout和mouseleave事件而言,relatedTarget属性返回被进入的DOM元素。

DOM通过event对象的relatedTarget属性提供了相关元素的信息。这个属性只对于mouseover和mouseout事件才包含值;
对于其他事件,这个属性的值是null。
IE9以下是不支持realtedTarget属性的,但提供了toElement和srcElement来实现同样的效果。
在mouseover事件触发时,IE的fromElement属性中保存了相关元素;
在mouseout事件出发时,IE的toElement属性中保存着相关元素。

如果要兼容性好,强烈建议使用jQuery,直接e.relatedTarget搞定了,不然为这个就得写个专门的函数来处理。

相关阅读