Отслеживание координат мыши при нажатии кнопки мыши - PullRequest
0 голосов
/ 14 марта 2012

Есть ли способ в JS отслеживать изменения pageX и pageY при перемещении мыши и удерживании кнопки мыши?

Исходный объект HTML DOM Event имеет свойство button, но если я пытаюсь отслеживать его на mousemove, он всегда возвращает мне ноль (в отличие от ctrlKey, shiftKey и т. Д., Для которых он будет отражать изменения).

Я попробовал jQuery Mousehold plugin , который ждет mousedown, устанавливает интервал, вызывает себя снова и снова и очищает интервал при mouseup или mouseout. Это хорошо, когда вам нужно просто поймать мышиную хватку, независимо от координат внутри селектора, пока кнопка удерживается. Но мне нужно что-то, чтобы ловить значения во время мышеловки.

Ответы [ 2 ]

1 голос
/ 14 марта 2012

Вы можете попробовать использовать mousemove событие для body вместо элемента, который вы изначально щелкнули.В вашем обработчике mousedown установите некоторую глобальную переменную, указывающую, какой элемент активен, и глобальный логический параметр, указывающий на перетаскивание.Также установите обработчик mouseup на body.Имейте в виду, однако, что этот метод не будет выполнен, если эти события обрабатываются другими элементами на странице, и они перестают пузыриться.

1 голос
/ 14 марта 2012

Вы можете установить некоторую переменную флага на mousedown и сбросить ее в mouseup.
В обработчике mousemove просто проверьте эту переменную.

...