You are not Logged in
Would you like to Login or Register

Today is: Friday, 21 November, 2008
Check this months hot topics

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;
kick it on DotNetKicks.com del.icio.us digg Mister Wong YahooMyWeb Reddit Furl Spurl blogmarks
Paul Hayman Skype
Author : Paul Hayman
Published : Thursday, 03 April, 2008

Paul is the COO of kwiboo ltd consultant and has more than a decade of 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.

April 06, 2008 - 10:31 PM

Add Comment

Enter your comment below and it will be submitted for moderation.

Your Name

Add Tag

Please enter tags for this article, seperated by semi-colon ;

View Tag's by : # articles | # views

More Publications

Not using Google Analytics? You should be!
Paul Marshall - 23/8/2006
TAB inside input boxes
Barrington Haynes - 13/6/2006
Web service calls from javascript using ATLAS (part 1)
Dave Howard - 25/8/2006
Image reflection the easy way!
Andrew Clark - 5/4/2007
Web service calls from javascript using ATLAS (part 3) - Complex properties
Dave Howard - 25/8/2006