В прошлом месяце я решил, что мне нужен надежный способ проверить положение мыши и легко навести курсор мыши с помощью jquery.Ниже приведен код, который я использую, и я думаю, что он решит ваши проблемы.
var mouse = {
mouseX: null,
mouseY: null,
init: function() {
$(document).bind('mousemove', function(event) {
mouse.mouseX = event.pageX;
mouse.mouseY = event.pageY;
});
},
isOver: function($element) {
$elementPosition = $($element).offset();
$elementWidth = $($element).width();
$elementHeight = $($element).height();
$returnValue = true;
if (mouse.mouseX !== null) {
if (mouse.mouseX < $elementPosition.left) { $returnValue = false; }
if (mouse.mouseY < $elementPosition.top) { $returnValue = false; }
if (mouse.mouseX > $elementPosition.left + $elementWidth) { $returnValue = false; }
if (mouse.mouseY > $elementPosition.top + $elementHeight) { $returnValue = false; }
}
return $returnValue;
}
}
Вам просто нужно запустить init на domready, тогда вы можете получить текущие координаты мыши в любое время, и вы можете узнать, еслимышь над определенным элементом легко.
// Init
jQuery(document).ready( function() {
mouse.init();
});
//Getting Positions
var mouseX = mouse.mouseX;
var mouseY = mouse.mouseY;
// Determining Mouseover
if (mouse.isOver($('#elementId'))) {
alert('Is over');
}