繁体   English   中英

JQuery Mobile Panel无法正常导航回首页

[英]JQuery Mobile Panel not working navigating back to first page

我遇到了一个困扰我的问题。 我有一个可以从我所有页面打开的面板,并且我正在使用外部面板(JQM 1.4.0中的新增功能)来实现这一点,这非常酷。 面板具有指向用于导航的不同页面的链接。 一切工作正常,直到出于某些明显的性能原因,我更改了所有过渡:从“滑动”到过渡:“无”。 我删除过渡面板后,开始出现奇怪的问题

我创建了一个jsfiddle以便更好地理解。 通过单击“菜单”按钮打开面板,然后单击“转到第二页”链接。 这将在我使用changePage到pageTwo的地方调用一个JS方法(我应该按照设计通过JS方法,我不能像#pageTwo那样去)。 现在,单击“后退”按钮返回到#pageOne。 现在,如果您单击菜单按钮,它不会打开。 出乎意料的是,如果我在将changePage转换为pageTwo时使用** any transition ****,那么整个事情都可以工作,即如果我使用以下代码,则可以正常工作。

  $.mobile.changePage('#pageTwo', {transtion,'slide'})

我在这里发现了类似的问题,但没有解决方案。 任何帮助表示赞赏

看起来像是JQM 1.4中的错误,

$.mobile.defaultPageTransition = 'none'; 是造成它的原因,尽管不是这样。

当页面过渡设置为“无”时,页面将在关闭面板之前进行更改。

使用$.mobile.defaultPageTransition = 'fade'; OR transition: "fade" $.mobile.defaultPageTransition = 'fade'; OR transition: "fade"

我对此问题进行了快速解决。 当我们执行更改页面时,会发生问题,在关闭面板之前先进行页面更改。 因此,我在调用更改页面之前进行了延迟。

setTimeout(function(){
    $.mobile.changePage('#page2',{transtion:'none'});   
},200);

我遇到了同样的问题,我通过创建一个脚本在每个页面上侦听并在页面隐藏之前删除外部面板来解决此问题,如下所示:

$(document).on('pagebeforehide', function(event)
{ 
    $('#mypanel').remove();
});

必须在html文件中的jquery mobile之前调用此脚本。

当您每次打开每个页面时都通过JS将面板添加到DOM时,还需要先删除它,然后才能隐藏当前页面,然后在导航过程中在下一页再次读取它。

这对我有用。 希望对您有所帮助。

如此处所述: Github上的问题#7711

现在可以与jQuery Mobile 1.4.5一起使用。 我遇到了同样的问题,因此我升级到了这个版本。 这个对我有用!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM