touch-события
Нужно стриггерить событие touchstart, застрял на создании TouchList. Следуя посту https://www.reddit.com/r/javascript/...a_touch_event/ написал код:
var target = document.body; var clientX = 0; var clientY = 0; var screenX = 0; var screenY = 0; var pageX = 0; var pageY = 0; var touch = new Touch(undefined, target, clientX, clientY, screenX, screenY, pageX, pageY); var touchList = new TouchList(touch); ругается на конструктор TouchList VM671:12 Uncaught TypeError: Illegal constructor(…) пробовал также передавать массивом var touchList = new TouchList([touch]); ошибка точно такая же. Пробую в последнем хроме (49), на всякий случай включил эмуляцию смартфона через "Toggle device mode" (но, думаю, дело не в этом). Подскажите, что неправильно в моём коде :help: |
Форум умер? Или ни у кого никаких мыслей нет?
|
Та не используйте Вы это. Оно стрёмное. И может умереть также, как и "document.createTouchList()". Кроме того в других браузерах будет ругаться не только на "new TouchList()", но даже и на "new Touch()".
Используйте простой анализ e.touches и e.touches.length А ещё желательно предварительно делать проверку наличия механизма касаний экрана: xxx = 'ontouchstart' in document.documentElement; |
Маэстро,
Я пишу код для автоматических тестов собственного опенсорсного продукта. Всё на уровне исследований. Умрёт текущее API - перепишу на новое, это не проблема. Кроссбраузерность не критична, достаточно, чтоб работало хотя бы в одном. |
Воспользовался библиотекой
https://github.com/Leaflet/prosthetic-hand судя по исходнику, TouchList создается не через конструктор, а через обычный массив. Дальше не копал, ибо задача решена, причем лучше, чем я хотел. |
Часовой пояс GMT +3, время: 23:07. |