双击,也触发了双击

Posted

技术标签:

【中文标题】双击,也触发了双击【英文标题】:Double tap, also a double click is being triggered 【发布时间】:2015-06-11 10:25:10 【问题描述】:

我只是想在我的双击事件上实现双击。 问题是双击覆盖双击事件。

我在 ipad 上运行事件双击没有问题。 它与锤子配合得很好。在桌面上dblclickdoubletap 都被触发了。

所以我必须用 doubletap 替换 dblclick,因为阅读 DoubleTap 并触发 dblclick 不是很清楚。 如果我把这两个事件,我的代码执行两次。 (http://jsfiddle.net/8vHjj/14/)

var output = document.getElementById("output");
var hammer = new Hammer(output);


hammer.on("doubletap", function() 
        output.innerText += " / doubletap";
    );

$("#output").on("dblclick", function()
     output.innerText += " / doubleclick";
);

是否有解决方案同时包含这两个事件?

【问题讨论】:

Detect double tap on ipad or iphone screen using javascript的可能重复 我在 ipad 上运行事件双击没有问题。它与锤子配合得很好。在桌面 dblclick 和 DoubleTap 都被触发。 您可以删除dblclick,只留下doubletap,它将在移动设备和桌面设备上触发,AFAIK 【参考方案1】:

这个话题对我有帮助: Hammer.js pan event only for touch devices and not for desktop computer Click+Drag.

要仅在触摸设备上触发 doubleTap,我们可以使用 inputClass 选项

var hammer = Hammer(element, 
  inputClass: Hammer.SUPPORT_POINTER_EVENTS ? Hammer.PointerEventInput : Hammer.TouchInput
)

我没有找到解释此选项的 API。 文档“锤子”没有提到“输入类”

【讨论】:

以上是关于双击,也触发了双击的主要内容,如果未能解决你的问题,请参考以下文章

强制在代码中双击

双击和单击事件冲突解决方法

双击和单击事件冲突解决方法

双击和单击事件冲突解决方法

visual studio2015中不小心取消了双击某个变量时,所有相同作用域的同名变量均被高亮显示,怎么解决?

UICollectionView didselect 和双击冲突