提问人:ejectamenta 提问时间:10/12/2023 更新时间:10/13/2023 访问量:17
如何将点击和点击按住合并到单个通话中
How to combine click and taphold into single call
问:
我有一个问题,因为长时间触摸按下(带有触摸屏的 Raspberry Pi4 上的 Chromium 浏览器信息亭应用程序)不会触发 JQuery 单击事件处理程序。可能是年龄较大/速度较慢的人可以非常缓慢地触摸按钮等,在这种情况下,不会触发单击事件。我希望在这种情况下触发点击事件。我可以使用 touchstart、touchmove 和 touchend 事件而不是 click 事件,但这意味着每个 UI 元素有 3 个事件处理程序,并且每个事件处理程序都有自己的 touchdown 标志,因为它们不应该干扰其他 UI 元素的标志状态。
我想不出一个简单的方法来做到这一点。有什么想法吗?
答:
0赞
ejectamenta
10/13/2023
#1
我通过以下代码实现了所需的行为
// removes context menu event that was interfering with long key presses
window.addEventListener("contextmenu", function(e) {
e.preventDefault();
})
// do click event from long key press
window.addEventListener("touchend", function(e) {
e.preventDefault();
$(e.target).trigger("click");
})
评论