2015-07-10 140 views
4

在CodePen樣品的JS潘內爾使用此代碼: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 +" "; 
}); 

和測試帶觸摸屏的PC上的Google Chrome掐事件,你會發現該pinchend總是跟着一個額外的「pinchin」事件。擠出時也會發生同樣的情況。

序列會:

pinchstart pinch pinchin pinch pinchin... ...pinch pinchin pinch pinchend pinchin 

這是一個bug或者是這個設計?這與'鬼點擊'有關嗎?

+0

正如我在跟蹤最後捏事件捏監聽器添加代碼的解決方法。如果之前的Pinch事件是'pinchend',那麼我忽略當前的pinchin或pinchout。 – Fabrice

回答

0

您應該單獨使用「捏」事件或其他事件(pinchin,pinchout等),而不是同時使用這兩個事件。

只是刪除「捏」:

mc.on("pinchin pinchout pinchstart pinchend", function(ev) { 
    myElement.textContent += ev.type +" "; 
});