2014-01-21 53 views
1

我和我的事件回調中fromElement物業工作,才意識到它不是由火狐(它返回undefined)的支持。jQuery的event.fromElement替代Firefox的

jsfiddle

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

有什麼辦法? 爲了我的目的,我需要知道鼠標以前的元素。

+0

如果你使用jQuery,使用jQuery的關心正常化的屬性被發現。 'relatedTarget'就是其中之一。 – MaxArt

回答

3

我相信jQuery的事件對象有一個relatedTarget屬性,它應該是跨瀏覽器:

ev.relatedTarget 

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

fromElement是微軟的原創,但W3添加relatedTarget的規格。在這裏閱讀更多:http://www.quirksmode.org/js/events_mouse.html#relatedtarget

+0

啊我用relatedTarget已經爲我的'mouseout'event,但不知道它也指出'mouseover'事件的退出元素。我會盡快接受你的回答。非常感謝! – enyce12

0

只是爲了完成大衛的回答,使用mouseleave事件時,該event.relatedTarget都有不同的元素返回到它:

事件目標進入到

定點設備

對於這種情況,更好的辦法是使用event.target,因爲它返回:

事件目標

更多信息退出指點設備的事件監聽器之間約event.relatedTarget差異可以在MDN MouseEvent.relatedTarget