需要使用HTML Canvas将Mouse事件转换为Mobile的Touch事件

问题描述

基本上,我希望上面的mouseevents通过使用touchevents在移动设备上工作。里面有一些代码可以改变每次点击的颜色。我希望将触摸事件绑定到mouseevents一样容易,但是在反复试验中,我仍然无法使其正常工作。

任何对此的帮助将是惊人的!

这是我正在使用的代码

latest.release

解决方法

实际上,它 就像监听触摸和鼠标事件一样容易。 SELECT concat('KILL ',ID,';') FROM INFORMATION_SCHEMA.PROCESSLIST WHERE `db` IN (DATABASE_NAMES); 事件是touchstartmousedowntouchmove,最后mousemovetouchend等价物。

理论上,您可以简单地向所有这些侦听器添加相同的回调函数。唯一的问题是您无法使用回调函数中的mouseup属性直接查询“鼠标”位置。那是因为可以有多个触摸,而总只有一个鼠标事件。为了跟踪触摸,这些触摸存储在event.clientX(或多或少一个数组)中,该数组是事件的TouchList属性。

因此,我们需要在回调函数中区分鼠标事件和触摸事件:

  • 如果需要触摸,请使用.touches
  • 如果是鼠标事件,请使用event.touches[0].clientX

以下是基于您的代码的示例:

event.clientX