Событие "touchmove" не запускается в Microsoft Edge - PullRequest
0 голосов
/ 25 апреля 2018

Мне нужно обнаружить элемент при его перетаскивании на основе clientx и клиентской позиции события touchmove. В Chrome событие touchmove распознается, и позиция возвращается правильно, тогда как событие touchmove не распознается в Microsoft Edge.

<div id="ele" style="position:absolute; top:0px; left:0px; width:100px;height:100px;border:1px solid"></div>

$(document).ready(function() {
   document.getElementById('ele').addEventListener('touchmove', function(e) 
   {
       console.log('event triggered');
   })
 });

Я получаю тип события как mousemove в Edge, но вместо этого я хочу получить событие touchmove. Есть ли способ сделать это?

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018

Вам нужно добавить «passive: false», как показано ниже в некотором примере кода. Это потому, что по умолчанию пассивный установлен на true. Я потратил несколько дней, чтобы понять это!

document.addEventListener('touchmove', function(e) {
    e.preventDefault();
}, { passive: false });

EDIT. Я считаю, что другой пост является правильным, а этот - неправильным, однако на случай, если он не работает, я оставил это здесь, так как другие браузеры требуют пассивного: false, чтобы функционировать, как вам требуется

0 голосов
/ 08 сентября 2018

Попробуйте добавить это в файл HTML:

canvas { touch-action: none;}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...