Как убедиться, что сенсорные события включены в браузере Firefox?

Я использовал простой тест на рабочем столе Windows 7 с сенсорными возможностями. Для простоты это было примерно так:

temp_div.addEventListener('touchstart', function(e){ /*confirm */ }, false)
temp_div.addEventListener('pointerdown', function(e){ /*confirm */ }, false)
temp_div.addEventListener('mousedown', function(e){ /*confirm */ }, false)

В хроме подтвердили "touchstart". В IE было подтверждено "pointerdown". В Firefox подтвержден "mousedown".

После устранения неполадок мне в конечном итоге пришлось перейти в "about: config" в Firefox и измените значение "dom.w3c_touch_events.enabled" с 0 на 1. Это вызвало подтверждение "touchstart" в Firefox.

Мои вопросы таковы:

Разве это не было разрешено на сенсорной машине? IE и Chrome были настроены правильно, а Firefox - нет. (Это была новая загрузка Firefox 31).

В любом случае, чтобы включить события касания удаленно в таком случае, чтобы Firefox действовал аналогично другим браузерам?

Спасибо

Ответ 1

Чтобы включить события касания в настольной версии Firefox, введите "about: config" в адресную строку браузера, нажмите "Я буду осторожен, я обещаю!". и прокрутите вниз до тех пор, пока вы не найдете "dom.w3c_touch_events.enabled".... при нажатии этого элемента появится диалоговое окно, которое позволит вам изменить значение параметра.

disable = (0) enable = (1) auto-detect = (2)

По умолчанию должно быть установлено "автообнаружение", но в настоящее время версия Firefox для настольных компьютеров установлена ​​на "отключить" из-за некоторой ошибки.

Информацию об этой настройке можно найти здесь: https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Touch_events

выдержка:

Предпочтение три-состояния dom.w3c_touch_events.enabled может использоваться для отключения (0), включения (1) и автоматического обнаружения (2) поддержки стандартных событий касания; по умолчанию они автоматически обнаруживаются (2). После изменения предпочтения вы должны перезапустить браузер, чтобы изменения вступили в силу.

Примечание. Начиная с Gecko 24.0 поддержка сенсорных событий, представленная с помощью Gecko 18.0, отключена на настольной версии Firefox, так как некоторые популярные сайты, включая Google и Twitter, работают некорректно. Как только ошибка будет исправлена, API снова будет включен.
Эти изменения не повлияют на мобильные версии, включая Firefox для Android и Firefox. Кроме того, API был включен в версии Firefox Firefox для Windows 8.

Ответ 2

В настоящее время в Firefox не работают сенсорные события (версия 48.0.1), но можно активировать события указателя, просмотрев about:config и установите для параметра dom.w3c_pointer_events.enabled значение true. Объект события, переданный вашему обработчику, будет содержать свойство pointerType со значением "touch", если это событие касания.

Смотрите: https://mobiforge.com/design-development/html5-pointer-events-api-combining-touch-mouse-and-pen