Beh, questo è un pò di quali eventi sono per. È sufficiente collegare un listener di eventi al div che si desidera monitorare.
var div = document.getElementById('myDiv');
div.addEventListener('mouseenter', function(){
// stuff to do when the mouse enters this div
}, false);
Se si vuole fare usando la matematica, è ancora bisogno di avere un evento su un elemento padre o qualcosa del genere, per essere in grado di ottenere le coordinate del mouse, che verranno poi memorizzati in un oggetto evento, che viene passato al callback.
var body = document.getElementsByTagName('body');
var divRect = document.getElementById('myDiv').getBoundingClientRect();
body.addEventListener('mousemove', function(event){
if (event.clientX >= divRect.left && event.clientX <= divRect.right &&
event.clientY >= divRect.top && event.clientY <= divRect.bottom) {
// Mouse is inside element.
}
}, false);
Ma è meglio utilizzare il metodo sopra.
Perché non agganciare un gestore di eventi a 'mouseenter' /' mouseover 'per l'elemento che ti serve? –
Si potrebbe farlo usando 'getElementFromPoint()', ma collegarsi direttamente all'evento sull'elemento sarebbe più affidabile e migliore pratica IMO. –