Используя этот код в JS панель образца CodePen:Hammer.js пожаров постороннего pinchin/выклинивание события
var myElement = document.getElementById('myElement');
var mc = new Hammer.Manager(myElement);
var pinch = new Hammer.Pinch({threshold: 0});
mc.add([pinch])
mc.on("pinch pinchin pinchout pinchstart pinchend", function(ev) {
myElement.textContent += ev.type +" ";
});
и тестирование на событие пинча на Chrome на ПК с сенсорным экраном, вы заметите, что pinchend всегда сопровождается дополнительным событием «pinchin». То же самое происходит при сжатии.
Последовательность будет идти:
pinchstart pinch pinchin pinch pinchin... ...pinch pinchin pinch pinchend pinchin
Является ли это ошибка или это дизайн? Связано ли это с «призрачным щелчком»?
В качестве обходного пути я добавил код в пинч слушателя, который отслеживает последнее событие пинч. Если предыдущее событие Pinch было «pinchend», я игнорирую текущий pinchin или pinchout. – Fabrice