Вычисление положения мыши на веб-странице, а не в верхнем левом углу окна в jQuery - PullRequest
0 голосов
/ 15 октября 2011

Просто для удовольствия я пытаюсь настроить счетчик кликов мышью (например, Heatmap), и я столкнулся с проблемой. Моя единственная проблема заключается в том, что я застрял, когда дело доходит до размеров браузера. Так как я пытаюсь придерживаться общих правил, я не предполагаю никаких знаний о структуре документа, и я не уверен, как рассчитать положение мыши относительно того, где она находится на реальной странице. Поскольку все сайты по-разному плавают на странице, я несколько застрял.

(Извините, если это не имеет особого смысла).

Другой вариант - записать, по какому элементу щелкнули, а также записать, где он находится в DOM, путем возврата и записи смещений. Хотя это кажется плохим выбором, потому что DOM может измениться, но View может остаться прежним. Это отрицает использование смещений от любых элементов (кроме, возможно, тела).

Я пытался использовать что-то вроде:

jQuery(document).bind({
    'click' : function(event){
        var X = $('body').offset().left;
        var Y = $('body').offset().top;
        mouseX = event.pageX - X;
        mouseY = event.pageY - Y;
...

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

Буду очень признателен за любые мысли или помощь по этому вопросу. Я уверен, что это очень распространено для всех вас, jQuery и экспертов по javascript.

1 Ответ

0 голосов
/ 15 октября 2011

$ (document) .scrollTop () плюс страница Y должны указывать вертикальную позицию курсора относительно верхней части документа.

...