#1301·hammer.js

使用多个手指滑动,有时当所有手指离开屏幕时,我发现“hammerManager.input.store”的长度不为 0

作者: zZ-feigo创建于 2024年12月16日更新于 2024年12月16日

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