Ответ 1
для touch API, вы должны активировать флаг на Edge: в адресной строке введите about: flags и нажмите enter. В разделе Touch вы можете включить события касания с соответствующим выпадающим меню
мое приложение использует Touch API для обнаружения событий касания в JavaScript. Пример:
$(".element").on("touchstart", function(event){
alert("TRUE");
});
Это работает на любом сенсорном устройстве с любым браузером, таким как Android или iOS, однако он не работает в MS Edge на планшете Windows 10 с клавиатурой или без нее. API, как представляется, поддерживается: Список совместимости. Тем не менее, я протестировал: 'ontouchstart' in window
, и это возвращает false на этом устройстве. Более того, mousedown
, похоже, срабатывает.
Что здесь происходит? Что можно сделать, чтобы запустить события касания на планшете Windows 10? Я хотел бы сохранить событие только для сенсорных устройств. Переход на API-интерфейс указателя будет включать также настольные устройства, и это не то, что я хочу.
для touch API, вы должны активировать флаг на Edge: в адресной строке введите about: flags и нажмите enter. В разделе Touch вы можете включить события касания с соответствующим выпадающим меню
Вы включили пользовательскую обработку касания? Вы можете сделать это с помощью следующего фрагмента css (на теге body или просто на контейнере для geastures):
-ms-touch-action: none;
Далее, touch API - это функция webkit (возможно, в CanIuse есть ошибка). IE и Edge имеют аналогичную функцию, известную как API-интерфейс указателя. Но вы можете использовать библиотеку polyfill следующим образом: https://github.com/CamHenlin/TouchPolyfill
Попробуйте использовать событие pointerdown
. Некоторая (большая) информация . Как вы можете видеть, touchstart
запускается Edge, но не во всех конфигурациях, когда клавиатура подключена/спарена, например, touchstart
.
Как я знаю, не должно быть никаких проблем с событиями касания в краю.
Попробуйте использовать собственный метод addEventListener, чтобы добавить прослушиватель событий "touchstart". Возможно, jQuery вызывает проблему.