Vâng, đó là kinda của những sự kiện dành cho. Chỉ cần đính kèm trình xử lý sự kiện vào div bạn muốn theo dõi.
var div = document.getElementById('myDiv');
div.addEventListener('mouseenter', function(){
// stuff to do when the mouse enters this div
}, false);
Nếu bạn muốn làm điều đó bằng toán học, bạn vẫn cần phải có một sự kiện vào một yếu tố phụ huynh hoặc một cái gì đó, để có thể có được các tọa độ chuột, sau đó sẽ được lưu trữ trong một đối tượng sự kiện, mà được chuyển đến cuộc gọi lại.
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);
Nhưng tốt nhất nên sử dụng phương pháp trên.
Tại sao không treo một event handler cho 'mouseenter' /' mouseover 'cho phần tử bạn cần? –
Bạn có thể làm điều đó bằng cách sử dụng 'getElementFromPoint()', nhưng hooking trực tiếp vào sự kiện trên phần tử sẽ đáng tin cậy hơn và thực hành tốt hơn IMO. –