在jQuery mobile中,tap和vclick之间有什么区别?
我应该用哪个事件来听? 为什么要使用vclick? 我只是不知道使用哪种情况。
如果jQuery Mobile Tap过去只能在移动设备上使用。 这不再是这种情况。
创建VClick是为了弥补桌面/移动设备之间点击/点击不兼容之间的差距。
现在你可以自由使用水龙头,但问题很少。 点击将在iOS平台上失败。 应该使用Touchstart代替。
例子:
V单击
可以在桌面设备和移动设备上使用。
- Android 4.1.1 – 没有延迟
- iOS – 没有延迟
- 桌面Firefox 19和Chrome 25.0.1364.152 – 没有延迟
http://jsfiddle.net/Gajotres/PYPXu/embedded/result/
$(document).on('pagebeforeshow', '#index', function(){ $( document ).on( "vclick", '[data-role="page"]', function() { $( this ).append( "vmouseup fired." ); }); });
点击:
龙头
它过去只能在移动设备上运行,现在也适用于桌面浏览器,但在使用jQuery Mobile 1.1及更低版本的iOS上会失败。
- Android 4.1.1 – 没有延迟
- iOS – 没有延迟
- 桌面Firefox 19和Chrome 25.0.1364.152 – 没有延迟
http://jsfiddle.net/Gajotres/k8kSA/
$(document).on('pagebeforeshow', '#index', function(){ $( document ).on( "tap", '[data-role="page"]', function() { $( this ).append( "tap fired." ); }); });
点击
将适用于移动设备和桌面浏览器。
- Android 4.1.1 – 可见延迟(300+ ms)
- iOS – 没有延迟
- 桌面Firefox 19和Chrome 25.0.1364.152 – 没有延迟
http://jsfiddle.net/Gajotres/L2FHp/
$(document).on('pagebeforeshow', '#index', function(){ $( document ).on( "click", '[data-role="page"]', function() { $( this ).append( "click fired." ); }); });
结论
如果你想要一个VClick的后向jQM兼容性棒,在任何其他情况下使用Tap 。
vclick(虚拟化点击)模拟onclick事件。
http://api.jquerymobile.com/vclick/
在快速,完整的触摸事件单个目标对象之后点击事件触发器。
http://api.jquerymobile.com/tap/
这取决于你在做什么,但除非你有特定的理由不(例如支持桌面和移动设备使用相同的js),我会使用tap。
更多信息,请访问https://coderwall.com/p/bdxjzg
我刚刚注意到’tap’和’vclick’之间存在重大差异。 如果你选择按钮并按回车键,’vclick’会激活 – ‘tap’不会。