2016-04-09 2 views
1

Я использую pinchin, pinchout и pinchend. Если длинный pinchin или pinchoutpinchend стреляет нормально, но если это короткий pinchin или pinchout, то pinchend не срабатывает. Это ошибка, или я делаю что-то неправильно?Hammer js: pinchend иногда не срабатывает

gestos = new Hammer.Manager(document.body, { 
    touchAction: "manipulation" 
}); 
gestos.add(new Hammer.Pinch({event: 'pinch'})); // If it isn't added, pinchout and pinchend never fires 
gestos.add(new Hammer.Pinch({event: 'pinchin'})); 
gestos.add(new Hammer.Pinch({event: 'pinchout'})); 
gestos.add(new Hammer.Pinch({event: 'pinchend'})); 
gestos.on("pinchin pinchout pinchend", function (e) { 
    if (e.type == "pinchin") 
     interact("#mapa").resizable(false); 
    else 
     interact("#mapa").resizable(true); 
    console.log(e.type); 
}); 

ответ

0
gestos.add(new Hammer.Pinch({event: 'pinchcancel'})); 
gestos.on("pinchin pinchout pinchend pinchcencel", function (e) { 
    if (e.type == "pinchin") 
     interact("#mapa").resizable(false); 
    else 
     interact("#mapa").resizable(true); 
    console.log(e.type); 
}); 
//sometimes the device just recognize our move as pinchcancel when we actually want to fire pinchend event. 
+0

Вы должны написать ответ, а не просто поставить фрагмент кода. –

+0

Я думаю, что я разъяснил свою точку зрения. Просто добавьте ответное событие pinchcancel – Mandy

Смежные вопросы