在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’不会。