我正在使用事件回调中的fromElement
属性,并且意识到firefox不支持它(它返回undefined)。
$('#test').on('mouseover', function(ev) {
console.log(ev.fromElement);
});
还有其他选择吗? 为了我的目的,我需要知道鼠标以前是哪个元素。
答案 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