我应该使用哪个事件来收听?
为什么要使用vclick?我只是不知道该使用哪种情况。

最佳答案

在使用jQuery Mobile Tap的情况下,它只能在移动设备上使用。情况不再如此。

创建VClick是为了弥合台式机/移动设备之间的点击/点击不兼容之间的鸿沟。

现在,您可以自由使用水龙头了,但是问题很少。在iOS平台上点击将失败。应该改用Touchstart。

例子:

VClick

在台式机和移动设备上均可使用。

  • 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( "<span style='color:#00F;'>vmouseup fired.</span>" );
        });
    });
    

    点按:

    点按

    它过去只能在移动设备上运行,现在也可以在台式机浏览器上运行,但是在带有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( "<span style='color:#00F;'>tap fired.</span>" );
        });
    });
    

    请点击

    将在移动设备和桌面浏览器上工作。
  • Android 4.1.1-可见延迟(300+毫秒)
  • 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( "<span style='color:#00F;'>click fired.</span>" );
        });
    });
    

    结论

    如果您想使用 VClick 向后兼容jQM,则在其他情况下请使用点击

    09-20 11:48