Cordova 如何在jquery mobile for phonegap应用程序中加速changepage

Cordova 如何在jquery mobile for phonegap应用程序中加速changepage,cordova,jquery-mobile,Cordova,Jquery Mobile,我正在为我的phonegap android应用程序使用jquerymobile 1.3.1。在android中,如果没有页面转换defaultPageTransition=none,更改页面方法的速度会慢1秒以上 touchstart和tap事件在下一页表单元素上触发 有什么想法吗 我推荐 Energize.js-删除所有点击/点击的点击延迟 只需更改Jquery手机的CSS即可 .in, .out { -webkit-animation-timing-function: ease-i

我正在为我的phonegap android应用程序使用jquerymobile 1.3.1。在android中,如果没有页面转换defaultPageTransition=none,更改页面方法的速度会慢1秒以上


touchstart和tap事件在下一页表单元素上触发

有什么想法吗

我推荐

Energize.js-删除所有点击/点击的点击延迟

只需更改Jquery手机的CSS即可

.in, .out {
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-duration: 350ms !important;
}
我推荐

Energize.js-删除所有点击/点击的点击延迟

只需更改Jquery手机的CSS即可

.in, .out {
    -webkit-animation-timing-function: ease-in-out;
    -webkit-animation-duration: 350ms !important;
}
有几种方法:

如果您使用的是包含多个页面的1个html文件,请将它们包装到单个div中:

<div id="container"/>
js代码:

$(document).one("mobileinit", function () {
    $.mobile.pageContainer = $('#container');
    $.mobile.defaultPageTransition = 'slide';
});
有关此方法的更多信息,请参见:

其他常见的解决方案是设置此css: .ui页面{ -webkit背面可见性:隐藏; }

该解决方案的问题在于它会破坏表单上的选择列表

关闭它们:

$(document).bind("mobileinit", function(){
    $.mobile.defaultDialogTransition = "none";
    $.mobile.defaultPageTransition = "none";
});
使用jquery移动应用上的fastclick加速点击事件,从而加快页面转换。单击事件最多可以在页面转换中添加300毫秒。这个插件将做更多的比这个,但在你的情况下,这将是足够的

链接:

如果您不需要其他插件,您仍然可以通过从页面更改按钮中删除href来实现更快的页面转换,然后执行以下操作:

<a class="ui-btn-left" data-icon="arrow-l" href="#" data-theme="a" id="back-btn">Back</a>

$('#back-btn').bind('touchstart', function(e) {
    $.mobile.changePage("#pageID");
});
如果您知道用户不会滚动,touchstart或touchend事件将非常有效。这就是为什么移动设备上的点击事件需要花费很长时间才能解决,设备正在等待用户是否在滚动或点击。因此,touchstart不应该像常见的点击/点击事件那样有延迟

我希望其中一些解决方案能对您有所帮助。考虑到这一点,这些都不是防弹的解决方案,它们也有自己的缺点

有几种方法:

如果您使用的是包含多个页面的1个html文件,请将它们包装到单个div中:

<div id="container"/>
js代码:

$(document).one("mobileinit", function () {
    $.mobile.pageContainer = $('#container');
    $.mobile.defaultPageTransition = 'slide';
});
有关此方法的更多信息,请参见:

其他常见的解决方案是设置此css: .ui页面{ -webkit背面可见性:隐藏; }

该解决方案的问题在于它会破坏表单上的选择列表

关闭它们:

$(document).bind("mobileinit", function(){
    $.mobile.defaultDialogTransition = "none";
    $.mobile.defaultPageTransition = "none";
});
使用jquery移动应用上的fastclick加速点击事件,从而加快页面转换。单击事件最多可以在页面转换中添加300毫秒。这个插件将做更多的比这个,但在你的情况下,这将是足够的

链接:

如果您不需要其他插件,您仍然可以通过从页面更改按钮中删除href来实现更快的页面转换,然后执行以下操作:

<a class="ui-btn-left" data-icon="arrow-l" href="#" data-theme="a" id="back-btn">Back</a>

$('#back-btn').bind('touchstart', function(e) {
    $.mobile.changePage("#pageID");
});
如果您知道用户不会滚动,touchstart或touchend事件将非常有效。这就是为什么移动设备上的点击事件需要花费很长时间才能解决,设备正在等待用户是否在滚动或点击。因此,touchstart不应该像常见的点击/点击事件那样有延迟

我希望其中一些解决方案能对您有所帮助。考虑到这一点,这些都不是防弹的解决方案,它们也有自己的缺点


IMGO,无论你怎么努力,你都不会加快页面导航速度,在html5上也不会像本机一样平滑。IMGO,无论你怎么努力,你都不会加快页面导航速度,在html5上也不会像本机一样平滑。touchstart和tap事件会在下一个页面表单元素上触发我的另一个答案将帮助您解决这个问题:我尝试过这个,它在没有页面转换的情况下不起作用,但在使用页面转换时起作用。touchstart和tap事件将在下一页表单元素上触发..:我的另一个答案将帮助你解决这个问题:我尝试过这个,它不是在没有页面转换的情况下工作,而是在页面转换的情况下工作。这是我唯一想做的事情。我不知道是否有任何副作用,但马上,它是惊人的。这是唯一的事情,已经做了我想要的。我不知道是否有任何副作用,但马上,这是惊人的。