Javascript JQuery Mobile在导航离开时不更新或重新发布数据
我在页脚上有三个标签:主页、促销和活动。我已经实现了通知标记,当在数据库中加载新的升级时,移动页面的页脚显示1,如果插入更多,则该数字将实时递增。现在,比方说,如果我从主页开始,在“促销和活动”选项卡上看到实时通知。但是,当我导航到“事件”选项卡时,通知会消失,但如果我单击“返回主页”选项卡,通知会显示出来。我分别尝试了“pageinit”和“pageshow”,并在其他stackoverflow问题中给出了测试提示消息。每次单击选项卡时都会显示警报消息。但是,当我试图用append或html进行修改时,它并没有用通知标记输出我。我尝试将id添加到主页、促销和事件、警报显示的data role=页面中,但append或html函数并没有提供预期的结果。我错过了什么Javascript JQuery Mobile在导航离开时不更新或重新发布数据,javascript,jquery,mobile,Javascript,Jquery,Mobile,我在页脚上有三个标签:主页、促销和活动。我已经实现了通知标记,当在数据库中加载新的升级时,移动页面的页脚显示1,如果插入更多,则该数字将实时递增。现在,比方说,如果我从主页开始,在“促销和活动”选项卡上看到实时通知。但是,当我导航到“事件”选项卡时,通知会消失,但如果我单击“返回主页”选项卡,通知会显示出来。我分别尝试了“pageinit”和“pageshow”,并在其他stackoverflow问题中给出了测试提示消息。每次单击选项卡时都会显示警报消息。但是,当我试图用append或html进
<div data-role="page">
<div data-role="header">
........
</div>
<div data-role="content">
.......
</div>
<div data-role="footer" data-position="fixed" >
<div data-role="navbar" >
<ul>
<!---- The notification badge from jquery script get appended in these IDs----->
**<li><div id="home"></div>...........</li>**
**<li><div id="promotion"></div>......</li>**
**<li><div id="event"></div>..........</li>**
</div>
</div>
</div>
........
.......
**- ….
**
**- **
**
- …..
**
我认为,如果我的第一个页面是主页,JQuery Mobile会将其存储在历史记录中,访问的任何其他页面都将是ajax调用。而且,我一直在将通知徽章保存在它们所属的页面中。例如,如果正在添加新的升级,则会将其附加到promotion.mobile.erb;如果正在添加新事件,则会将其附加到event.mobile.erb中的div元素。只有当我的当前页面是主页时,我才能看到它。这是我在早些时候提出的问题
我是怎么解决的?
我从application.mobile.erb中删除了页脚和页面元素,并将页面ID添加到主页、促销和活动页面。然后,我向通知标记所在的div元素添加了不同的id
- 对于主页中的div元素,我添加了0(您可以选择使其唯一的任何东西)
- 对于促销页面中的div元素,我添加了1和
- 对于event_页面中的div元素,我添加了2,如下面的代码中所示
<div data-role="footer" data-position="fixed" > <div data-role="navbar" > <ul> <!---- The notification badge from jquery script get appended in these IDs-----> **<li><div id="home0"></div>...........</li>** **<li><div id="promotion0"></div>......</li>** **<li><div id="event0"></div>..........</li>** </div> </div>
$('#promo_page').live('pageinit',function(event){ $('#promotion2').badger(oldBadge0); $('#event2').badger(oldBadge_e0); });
我真的很感谢你的帮助。如果我需要提供更多信息,请告诉我。