Firefox的jQuery event.fromElement替代品

时间:2014-01-21 11:20:45

标签: javascript jquery javascript-events mouseevent

我正在使用事件回调中的fromElement属性,并且意识到firefox不支持它(它返回undefined)。

jsfiddle

$('#test').on('mouseover', function(ev) {
    console.log(ev.fromElement);
});

还有其他选择吗? 为了我的目的,我需要知道鼠标以前是哪个元素。

2 个答案:

答案 0 :(得分:3)

我相信jQuery事件对象有一个relatedTarget属性应该是跨浏览器的:

ev.relatedTarget

文档:http://api.jquery.com/event.relatedtarget/

fromElement是一个微软的原始版本,但是w3在规范中添加了relatedTarget。在此处阅读更多内容:http://www.quirksmode.org/js/events_mouse.html#relatedtarget

答案 1 :(得分:0)

只是为了完成David的回答,在使用mouseleave事件时,event.relatedTarget会返回一个不同的元素:

  

EventTarget 指点设备已输入

对于这种情况,更好的方法是使用event.target,因为它返回:

  

EventTarget 指针设备退出

有关事件监听器之间event.relatedTarget差异的更多信息,请访问MDN MouseEvent.relatedTarget