Позвольте мне начать с того, что я не рекомендую использовать метод, который я собираюсь предложить. Гораздо лучше использовать управляемую событиями разработку и привязывать события только к элементам, которые вас интересуют, чтобы узнать, не закончена ли мышь с mouseover
, mouseout
, mouseenter
, mouseleave
и т. Д.
Если вы абсолютно ДОЛЖНЫ иметь возможность узнать, над каким элементом находится мышь, вам нужно написать функцию, которая связывает событие mouseover
со всем в DOM, а затем сохранить любой текущий элемент в некотором переменная.
Вы могли бы так что-то вроде этого:
window.which_element_is_the_mouse_on = (function() {
var currentElement;
$("body *").on('mouseover', function(e) {
if(e.target === e.currentTarget) {
currentElement = this;
}
});
return function() {
console.log(currentElement);
}
}());
По сути, я создал непосредственную функцию, которая устанавливает событие для всех элементов и сохраняет текущий элемент в замыкании, чтобы минимизировать вашу занимаемую площадь.
Вот рабочая демонстрация, которая вызывает window.which_element_is_the_mouse_on
каждую секунду и регистрирует, какой элемент мыши в данный момент находится на консоли.
http://jsfiddle.net/LWFpJ/1/