我正在开发一个在Android/iOS和桌面计算机上运行的应用程序。我应该使用click还是tap事件?它们之间有什么不同?“tap”在桌面上工作吗?如果不是,(我必须使用click)我是否错过了tap比click有什么优势?
click
tap
vlf7wbxs1#
可以使用.on()将函数绑定到多个事件:
.on()
$('#element').on('click tap', function() { ... });
感谢@bergie3000指向this
n8ghc7c12#
触摸事件和鼠标事件是完全不同的两个概念,它们是不可互换的。也就是说,我使用的是jQuery Touch Punch,它将触摸事件Map到它们的鼠标事件类似物,所以点击和点击是一样的。这使得它可以使用所有标准的jQuery UI优点,而无需进行任何特殊的触摸事件编程。它使用起来非常简单,到目前为止,我在iDevices和Android上都运行得很好。
sdnqo3pr3#
很抱歉旧事重提,但对于任何使用Phonegap开发jQuery的人来说:如果在“div”,“p”等不应该被点击的元素上赋值,“click”事件将不会被触发,当“tap”使它在任何元素上都能完美地工作!这花了我很长时间才注意到。结论,如果你用移动的开发一些东西,我建议使用“tap”而不是“click”,因为它可能会导致一些问题
dfuffjeb4#
我想看看jQM事件文档,最新的文档在这里:
对于移动终端使用触摸事件,如果你需要鼠标事件,jQM也提供了虚拟鼠标事件。
虚拟鼠标事件
我们提供了一组“虚拟”鼠标事件,试图抽象出鼠标和触摸事件。这允许开发人员注册基本鼠标事件的侦听器,例如mousedown,mousemove,mouseup和click,插件将负责在幕后注册正确的侦听器,以便在该设备的最快时间内调用侦听器。在触摸环境中,插件保留了在传统鼠标环境中看到的事件触发的顺序,因此例如,vmouseup总是在vmousedown之前被分派,而vmousedown总是在vclick之前被分派,等等。虚拟鼠标事件还标准化了如何从事件中提取坐标信息,因此在基于触摸的环境中,坐标可以从pageX、pageY、screenXscreenY、clientX和clientY属性。我并不是说“点击”事件不会像现在一样工作,比如你可以点击一个按钮,但是移动的设备和桌面设备会有不同的事件
4条答案
按热度按时间vlf7wbxs1#
可以使用
.on()
将函数绑定到多个事件:感谢@bergie3000指向this
n8ghc7c12#
触摸事件和鼠标事件是完全不同的两个概念,它们是不可互换的。
也就是说,我使用的是jQuery Touch Punch,它将触摸事件Map到它们的鼠标事件类似物,所以点击和点击是一样的。这使得它可以使用所有标准的jQuery UI优点,而无需进行任何特殊的触摸事件编程。它使用起来非常简单,到目前为止,我在iDevices和Android上都运行得很好。
sdnqo3pr3#
很抱歉旧事重提,但对于任何使用Phonegap开发jQuery的人来说:
如果在“div”,“p”等不应该被点击的元素上赋值,“click”事件将不会被触发,当“tap”使它在任何元素上都能完美地工作!这花了我很长时间才注意到。
结论,如果你用移动的开发一些东西,我建议使用“tap”而不是“click”,因为它可能会导致一些问题
dfuffjeb4#
我想看看jQM事件文档,最新的文档在这里:
对于移动终端使用触摸事件,如果你需要鼠标事件,jQM也提供了虚拟鼠标事件。
虚拟鼠标事件
我们提供了一组“虚拟”鼠标事件,试图抽象出鼠标和触摸事件。这允许开发人员注册基本鼠标事件的侦听器,例如mousedown,mousemove,mouseup和click,插件将负责在幕后注册正确的侦听器,以便在该设备的最快时间内调用侦听器。在触摸环境中,插件保留了在传统鼠标环境中看到的事件触发的顺序,因此例如,vmouseup总是在vmousedown之前被分派,而vmousedown总是在vclick之前被分派,等等。虚拟鼠标事件还标准化了如何从事件中提取坐标信息,因此在基于触摸的环境中,坐标可以从pageX、pageY、screenXscreenY、clientX和clientY属性。
我并不是说“点击”事件不会像现在一样工作,比如你可以点击一个按钮,但是移动的设备和桌面设备会有不同的事件