使用多个手指滑动,有时当所有手指离开屏幕时,我发现“hammerManager.input.store”的长度不为 0
const hammerManager = new Hammer.Manager(dom); let lastPanEndEvent = null;
// 五个手势,一个手指|两个手指|三个手指…|
const panArray = [1, 2, 3, 4, 5].map(pointers => {
return new Hammer.Pan({
event: pan${pointers},
threshold: 4,
pointers,
direction: Hammer.DIRECTION_ALL,
});
});
hammerManager.add(panArray);
// 监听手势开始事件 hammerManager.on('pan1start pan2start pan3start pan4start pan5start', evt => {});
// 监听手势移动事件 hammerManager.on('pan1move pan2move pan3move pan4move pan5move', evt => {});
// 监听手势结束事件 hammerManager.on('pan1end pan2end pan3end pan4end pan5end', evt => { if (evt.type === 'pan1end' || evt.type === lastPanEndEvent) { if (hammerManager.input.store) { hammerManager.input.store = []; } end(); } lastPanEndEvent = evt.type; });
内容来源: hammerjs/hammer.js