【发布时间】:2012-09-07 12:37:02
【问题描述】:
我正在开发一个在 Android/iOS 和台式电脑上运行的应用程序。
我应该使用click 还是tap 事件?
它们之间有什么区别?
“点击”可以在桌面上使用吗?如果不是,(我必须使用click)我是否错过了tap 相对于click 的任何优势?
【问题讨论】:
标签: jquery jquery-mobile touch-event
我正在开发一个在 Android/iOS 和台式电脑上运行的应用程序。
我应该使用click 还是tap 事件?
它们之间有什么区别?
“点击”可以在桌面上使用吗?如果不是,(我必须使用click)我是否错过了tap 相对于click 的任何优势?
【问题讨论】:
标签: jquery jquery-mobile touch-event
【讨论】:
触摸事件和鼠标事件是完全不同的野兽。它们不可互换。
也就是说,我正在使用jQuery Touch Punch 将触摸事件映射到它们的鼠标事件类似物,因此点击与点击是一样的。这使得它可以使用所有标准的 jQuery UI 优点,而无需进行任何特殊的触摸事件编程。它使用起来非常简单,到目前为止,它在 iDevices 和 Android 上都非常适合我。
【讨论】:
很抱歉提出旧帖子,但对于正在使用 Phonegap 开发 jQuery 的任何人:
如果在“div”,“p”等不应该被点击的元素上分配“click”事件,则不会触发,当“tap”使其在任何元素上完美运行时!我花了很长时间才注意到这一点。
结论,如果您确实使用 jQuery mobile 进行开发,我建议使用“tap”而不是“click”,因为它可能会导致一些问题
【讨论】:
cursor: pointer 来获取div、p 等上的点击事件。
body.mobile{pointer:cursor} css。太棒了!
我会查看事件的 jQM 文档,当前文档在这里:
对于移动设备,请使用触摸事件,如果您需要鼠标事件,jQM 也为此提供了虚拟鼠标事件。
虚拟鼠标事件
我们提供了一组“虚拟”鼠标事件,它们试图抽象出鼠标和触摸事件。这 允许开发人员为基本鼠标事件注册监听器, 如 mousedown、mousemove、mouseup 和 click,插件将 照顾在幕后注册正确的听众 以尽可能快的时间为该设备调用侦听器。在 触摸环境,插件保留事件触发的顺序 在传统的鼠标环境中可以看到,例如,vmouseup 是 总是在 vmousedown 之前调度,并且 vmousedown 在 vclick 之前调度, 等等。虚拟鼠标事件也规范了如何协调 信息是从事件中提取的,因此基于触摸 环境,坐标可从 pageX, pageY, screenX、screenY、clientX 和 clientY 属性,直接在 事件对象。
我并不是说“点击”事件不会像现在这样起作用,例如,您可以点击一个按钮。但是移动设备和桌面设备会有不同的事件
【讨论】: