第二次点击 canvas 未在移动设备上触发

Second click on canvas is not being fired on mobile devices

我有一个糖果粉碎游戏,用这四个听众交换物品

canvas.addEventListener('mousemove', onMouseMove);
canvas.addEventListener('mousedown', onMouseDown); // also tried pointerup and pointerdown
canvas.addEventListener('mouseup', onMouseUp);
canvas.addEventListener('mouseout', onMouseOut);

它在桌面上运行完美,但有时第二次点击(鼠标按下)(在第二个图块上根本没有被触发)。我的意思是没有调用监听器函数。 我有

cursor: pointer

在我的 CSS 中,我不知道该怎么办。

注意:如果您下次点击 canvas 上的某处,事件将被触发,就好像它是在旧位置被点击一样。 所以如果我要改变瓷砖的位置 x: 0, y: 0 和 x: 0, y: 1:

  1. I select 第一个图块 (x: 0, y: 0)
  2. 我尝试 select 第二个图块 (x:0, y:1)。事件未被触发
  3. 如果我点击任何随机图块,那两个图块会以某种方式交换位置

请帮忙!谢谢!

将触摸事件Docs与现有代码结合使用

canvas.addEventListener('touchmove', onMouseMove);
canvas.addEventListener('touchstart', onMouseDown);
canvas.addEventListener('touchend', onMouseUp);