Определить координаты события (DOM Event)

Любое DOM-событие содержит в себе информацию о том, где находился указать мышки в момент возникновения этого события. Беда в том, что в различных браузерах эти поля называются по-разному и содержат информацию в различных системах отчета.

Эта функция нормализует информацию и приводит координаты в одну систему отсчета — относительно левого верхнего угла страницы.


function (e) {
    var point = {};
    if (e.pageX && e.pageY) {
        point.x = e.pageX;
        point.y = e.pageY;
    } else {
        point.x = e.clientX + (document.documentElement.scrollLeft ? document.documentElement.scrollLeft : document.body.scrollLeft);
        point.y = e.clientY + (document.documentElement.scrollTop ? document.documentElement.scrollTop : document.body.scrollTop);
    }
    return point;
}

Если используется jQuery, то аналогичные данные можно получить из полей pageX и pageY объекта, который передается в обработчик обытия.