Для пользователей, использующих JQuery:
Иногда, когда у вас есть вложенные элементы, один из них с прикрепленным к нему событием, может быть запутанным понять, что ваш браузер видит в качестве родителя. Здесь вы можете указать родителя.
Вы берете позицию мыши, а затем вычитаете ее из позиции смещения родительского элемента.
var x = evt.pageX - $('#element').offset().left;
var y = evt.pageY - $('#element').offset().top;
Если вы пытаетесь получить положение мыши на странице внутри области прокрутки:
var x = (evt.pageX - $('#element').offset().left) + self.frame.scrollLeft();
var y = (evt.pageY - $('#element').offset().top) + self.frame.scrollTop();
Или позиция относительно страницы:
var x = (evt.pageX - $('#element').offset().left) + $(window).scrollLeft();
var y = (evt.pageY - $('#element').offset().top) + $(window).scrollTop();
Обратите внимание на следующую оптимизацию производительности:
var offset = $('#element').offset();
// Then refer to
var x = evt.pageX - offset.left;
Таким образом, JQuery не нужно искать #element
для каждой строки.