Jquery mobile 如何更改页面以使我赢得';使用Jquery mobile看不到这一点吗?

Jquery mobile 如何更改页面以使我赢得';使用Jquery mobile看不到这一点吗?,jquery-mobile,cordova,Jquery Mobile,Cordova,我在应用程序中同时使用phonegap(1.8.1)和jquerymobile(1.1.0) 现在,我通过打开index.html页面来打开我的应用程序。My index.html包含许多页面,如 <div data-role="page" id="page1"> <div data-role="page" id="page2"> <div data-role="page" id="page3"> <div data-role="page" id="pa

我在应用程序中同时使用phonegap(1.8.1)和jquerymobile(1.1.0)

现在,我通过打开index.html页面来打开我的应用程序。My index.html包含许多页面,如

<div data-role="page" id="page1">
<div data-role="page" id="page2">
<div data-role="page" id="page3">
<div data-role="page" id="page4">
但它总是先显示第1页,然后再显示第2页。我想直接打开第二页
怎么做?

因此,我认为您在这里使用了错误的事件。发件人:

因此,pagebeforeload可能是切换页面时需要使用的默认事件,因为它是在加载页面之前执行的,所以您无法看到它

pagebeforeshow的主要问题是,当触发此事件时,已经有一个页面正在加载并准备显示。在此事件中调用changePage()只会将页面转换到当前显示页面之后要显示的新页面的队列中。也许使用此事件和jqm站点中解释的“preventDefault()”技术可以让您达到所需的行为,但我从未尝试过,因此无法进一步帮助您。祝你好运

编辑:正如评论中所述,问题在于jqm的默认转换。如果加载了新页面,将触发自动幻灯片转换,因此将显示第一页,然后转换到changePage()中调用的页面。解决方案是避免这样的过渡:

$.mobile.changePage('#page', {transition:'none'}); 

这样,目标页面将突然显示。

因此,我认为您在这里使用了错误的事件。发件人:

因此,pagebeforeload可能是切换页面时需要使用的默认事件,因为它是在加载页面之前执行的,所以您无法看到它

pagebeforeshow的主要问题是,当触发此事件时,已经有一个页面正在加载并准备显示。在此事件中调用changePage()只会将页面转换到当前显示页面之后要显示的新页面的队列中。也许使用此事件和jqm站点中解释的“preventDefault()”技术可以让您达到所需的行为,但我从未尝试过,因此无法进一步帮助您。祝你好运

编辑:正如评论中所述,问题在于jqm的默认转换。如果加载了新页面,将触发自动幻灯片转换,因此将显示第一页,然后转换到changePage()中调用的页面。解决方案是避免这样的过渡:

$.mobile.changePage('#page', {transition:'none'}); 


这样,目标页面将突然显示。

作为一个问题不够清楚,代码在哪里?你不是新来的,所以,你应该已经知道如何在这里提问。有时我们觉得有很多知识的人不需要太多解释。无论如何,我会把我的话作为代码,并试图解释…@Th0rndike是否足够清楚?即使我也不太确定问题出在哪里,但我认为
pagebeforeshow
将首先加载正在加载的页面,然后切换到您在
changePage
中给出的新页面,就像我详细解释的@dhaval bro一样。检查我的更新作为一个问题不够清楚,代码在哪里?你不是新来的,所以,你应该已经知道如何在这里提问。有时我们觉得有很多知识的人不需要太多解释。无论如何,我会把我的话作为代码,并试图解释…@Th0rndike是否足够清楚?即使我也不太确定问题出在哪里,但我认为
pagebeforeshow
将首先加载正在加载的页面,然后切换到您在
changePage
中给出的新页面,就像我详细解释的@dhaval bro一样。查看我的更新Hi Thorndike+1,以获得如此好的响应。尽管您在pagebeforeshow和pagebeforeload的概念上是正确的。但如果我使用pagebeforeload,即使是一个控制台也不会被解雇;你为什么不试试pagebeforeshow+preventDefault+reject技术呢?我认为这很简单,可以完成你想做的事。如何拒绝。。我喜欢这个$(“#page1”)。在(“pagebeforeshow”,函数(e){e.preventDefault();$.mobile.changePage(“#page2”);});嗨,桑代克。。。我得到了它。。。我试图做$.mobile.changePage(“#page”);它使用了默认的转换,即幻灯片。。。如果我执行$.mobile.changePage(“#page”,{transition:'none'});然后它工作了。。。你能把这篇文章和你的文章一起更新吗,这样对其他人会有很大的帮助。。。另外,我喜欢你的帖子:D GrazieHi Thorndike+1,因为你的回复这么好。尽管您在pagebeforeshow和pagebeforeload的概念上是正确的。但如果我使用pagebeforeload,即使是一个控制台也不会被解雇;你为什么不试试pagebeforeshow+preventDefault+reject技术呢?我认为这很简单,可以完成你想做的事。如何拒绝。。我喜欢这个$(“#page1”)。在(“pagebeforeshow”,函数(e){e.preventDefault();$.mobile.changePage(“#page2”);});嗨,桑代克。。。我得到了它。。。我试图做$.mobile.changePage(“#page”);它使用了默认的转换,即幻灯片。。。如果我执行$.mobile.changePage(“#page”,{transition:'none'});然后它工作了。。。你能把这篇文章和你的文章一起更新吗,这样对其他人会有很大的帮助。。。另外,我喜欢你的帖子:D·格拉齐
$.mobile.changePage('#page', {transition:'none'});