Разве touchmove не запускает автоматическое перемещение мыши? - PullRequest
0 голосов
/ 17 июня 2020

Сеть разработчиков Mozilla говорит:

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

В моем приложении событие touchstart запускает событие mousedown. Однако событие touchmove не запускает событие mousemove (я просто добавил alert в начало моей функции mouseMove, и он никогда не вызывался).

Соответствующие строки моего код:

<html onmousemove='mouseMove(event)' onmouseup='mouseUp(event)'>

<canvas onmousedown='cnvMouseDown(event)'></canvas>

Функции mouseMove и mouseUp находятся в элементе html, поэтому они будут работать, даже если курсор перемещается за пределы холста. Разве этот mouseMove не должен автоматически перехватываться событием html touchmove? Почему нет?

1 Ответ

0 голосов
/ 17 июня 2020

MDI- "даже если браузер поддерживает сенсорное управление, браузер все равно должен эмулировать события мыши, чтобы контент, предполагающий ввод только с помощью мыши, работал без прямого изменения"

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

Что касается mousemove и touchmove, они не совпадают.

" В частности, события касания всегда нацелены на элемент, в котором это касание STARTED, в то время как события мыши нацелены на элемент, находящийся в данный момент под курсором мыши. Вот почему у нас есть события mouseover и mouseout, но нет соответствующих событий касания и касания - только касание. "

Надеюсь, это поможет

...