Skip to content

use multiple finger pan,sometimes when all fingers leave screen,I found “hammerManager.input.store” length is not 0 #1301

@zZ-feigo

Description

@zZ-feigo

the demo

const hammerManager = new Hammer.Manager(dom);
let lastPanEndEvent = null;

  // five pan,one finger|two finger | three finger...
  const panArray = [1, 2, 3, 4, 5].map(
    pointers =>
      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;
  });  

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions