jquery 如何将合并点击和轻按结合到单个呼叫中

zlhcx6iw  于 2023-10-17  发布在  jQuery
关注(0)|答案(1)|浏览(96)

我有一个问题,因为长时间的触摸按下不会触发JQuery click事件处理程序(在带有触摸屏的Raspberry Pi 4上的Chromium浏览器kiosk应用程序)。可能的情况是,年长/较慢的人可以触摸按钮等。非常慢,在这种情况下,不会触发单击事件。我希望在这种情况下触发单击事件。我可以使用touchstart、touchmove和touchend事件来代替click事件,但这意味着每个UI元素有3个事件处理程序,每个事件处理程序都有自己的touchdown标志,因为它们不应该干扰其他UI元素的标志状态。
我想不出一个简单的方法来做到这一点。有什么想法吗?

ijxebb2r

ijxebb2r1#

我用下面的代码实现了所需的行为

// 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");
})

相关问题