Как не дать родному веб-представлению Android выполнить событие mousedown после приземления - PullRequest
2 голосов
/ 06 марта 2012

При регистрации событий mousedown и touchdown в веб-просмотре оба запускаются в одно и то же время, что приводит к нечетной ситуации, когда приходится иметь дело с дважды «подобными mousedown» событиями. Есть известный обходной путь, который состоит в вызове event.preventDefault () ... но я не могу вызвать его, потому что мне все равно нужно получить поведение по умолчанию. И, конечно же, я не могу удалить обычных слушателей событий мыши, не потеряв совместимость с обычным компьютером.

Существует еще один известный обходной путь (найденный здесь: http://www.quirksmode.org/blog/archives/2010/02/do_we_need_touc.html)), который заключается в определении того, имеет ли первое полученное нами событие тип touchevent или нет, в первом случае мы просто удаляем слушателей событий мыши. ... Но я нахожу это уродливым, и более того, я не могу поверить, почему собственный браузер Android продолжает запускать события мыши, тогда как сенсорные события регистрируются, и нет способа предотвратить это в манифесте или где-то еще.

Кстати: эта проблема не возникает на мобильном телефоне Safari.

Большое спасибо!

...