如何防止 "longpress" 触摸事件监听器也被 "touch up" 事件调用?

How to prevent a "longpress" touch event listener from being called for a "touch up" event as well?

我有一个对象的以下事件侦听器。

canvas.on('touch:longpress', (e) => {
    // Some Code
});

此侦听器在长按后被调用,并且还调用“修饰”事件。为什么会发生这种情况,如何绕过?

  var isTouching = false;
  canvas.on('mouse:down', function (e) {
    console.log('touchstart');
    isTouching = true;
  });
  canvas.on('touch:longpress', function (e) {
    if (isTouching) {
      // Some Code
      console.log('longpress');
    }
  });
  canvas.on('mouse:up', function (e) {
    console.log('touchend');
    isTouching = false;
  });

您可以使用布尔变量解决这种情况。