click和tap事件有什么区别?

问题描述 投票:0回答:4

我正在开发一个在 Android/iOS 和台式电脑上运行的应用程序。

我应该使用

click
还是
tap
事件?

它们之间有什么区别?

“点击”是否可以在桌面上使用?如果不是,(我必须使用

click
)我是否错过了
tap
相对于
click
的任何优势?

jquery jquery-mobile touch-event
4个回答
30
投票

您可以使用

.on()
将一个函数绑定到多个事件:

$('#element').on('click tap', function() {
    ...
});

感谢@bergie3000 指向this


17
投票

触摸事件和鼠标事件是完全不同的野兽。它们不可互换。

就是说,我正在使用 jQuery Touch Punch 它将触摸事件映射到它们的鼠标事件类似物,因此点击与点击相同。这使得使用所有标准 jQuery UI 优点成为可能,而无需进行任何特殊的触摸事件编程。它使用起来非常简单,到目前为止,我在 iDevices 和 Android 上都能完美运行。


10
投票

很抱歉提出旧帖子,但对于任何使用 Phonegap 处理 jQuery 的人:

如果分配给不应被点击的“div”、“p”等元素,则不会触发“click”事件,而“tap”使其在任何元素上都能完美运行!我花了很长时间才注意到。

结论,如果您确实使用 jQuery Mobile 开发某些东西,我建议您使用“tap”而不是“click”,因为它可能会导致一些问题


2
投票

我会查看 jQM 事件文档,当前文档在这里:

对于移动设备使用触摸事件,如果您需要鼠标事件,jQM 也为此提供虚拟鼠标事件。

虚拟鼠标事件
我们提供了一组“虚拟”鼠标事件,试图抽象出鼠标和触摸事件。这 允许开发人员注册基本鼠标事件的侦听器, 例如 mousedown、mousemove、mouseup 和 click,插件将 注意在幕后注册正确的听众 在尽可能快的时间内为该设备调用侦听器。在 触摸环境,插件保留事件触发的顺序 在传统的鼠标环境中可以看到,例如,vmouseup 是 总是在 vmousedown 之前调度,而 vmousedown 在 vclick 之前调度, 等等。虚拟鼠标事件也标准化了如何协调 信息是从事件中提取的,因此基于接触 环境、坐标可从 pageX、pageY、 screenX、screenY、clientX 和 clientY 属性,直接在 事件对象。

我并不是说“点击”事件不会像现在这样起作用,例如你可以点击一个按钮。但是对于移动设备和桌面设备会有不同的事件

© www.soinside.com 2019 - 2024. All rights reserved.