检测是否触发了点击事件

时间:2020-05-19 00:16:30

标签: javascript touch dom-events touch-event

在有人问之前:我曾尝试检查SO上的其他答案,但找不到与我的问题完全匹配的东西。我能找到的其他大多数问题都与触发两次触摸事件有关,或者与event.typeclicktouchend有关,而这并没有涵盖我想要看到的内容。

与我刚才提到的其他问题一样,我注意到触摸事件不仅触发touchstarttouchend事件,而且随后还会触发click事件。我目前正在开发一个简单的游戏,该游戏同时使用点击事件和触摸事件处理来执行一些不同的动作,这意味着每当触发触摸事件时,都不应在同一目标元素上触发单击事件。

我尝试浏览event对象,以查看是否有任何方法可以确定click事件是否是由于某种触摸而触发的,或者是否只是触发了常规点击,但我找不到任何方法。所以我的问题是:是否有任何方法可以在click事件处理程序中查明该事件是否已由触摸事件触发?最好是我不想在触摸事件中跟踪必须修改的全局变量。

显示两个事件都被触发的示例片段:

window.ontouchend = function(e) {
  console.log(e.type);
}
window.onclick = function(e) {
  // if (!e.isThisATouchEvent)
      console.log(e.type);
}

0 个答案:

没有答案
相关问题