GeekZilla
Geting the position of the mouse pointer in JavaScript (Works in IE7)
The following function will return the position of the mouse pointer based on the event. It actually works in IE7.
function getPosition(e) { e = e || window.event; var cursor = {x:0, y:0}; if (e.pageX || e.pageY) { cursor.x = e.pageX; cursor.y = e.pageY; } else { var de = document.documentElement; var b = document.body; cursor.x = e.clientX + (de.scrollLeft || b.scrollLeft) - (de.clientLeft || 0); cursor.y = e.clientY + (de.scrollTop || b.scrollTop) - (de.clientTop || 0); } return cursor; }
Example usage
popupMenu.style.left = getPosition(event).x; popupMenu.style.top = getPosition(event).y;
Paul is the COO of kwiboo ltd and has more than 20 years IT consultancy experience. He has consulted for a number of blue chip companies and has been exposed to the folowing sectors: Utilities, Telecommunications, Insurance, Media, Investment Banking, Leisure, Legal, CRM, Pharmaceuticals, Interactive Gaming, Mobile Communications, Online Services.
Paul is the COO and co-founder of kwiboo (http://www.kwiboo.com/) and is also the creator of GeekZilla.
Comments
kangax
said:
"if (e.pageX || e.pageY)" will be skipped if both values are 0. Code will then try to use clientX/clientY and fail.
[SW]
said:
it's was helpfull for me.
thaks.
davey
said:
not using ie, but it worked for what I wanted it to do, thanks