Ada*_*dam 3 jquery jquery-mobile
我需要获取jquery-mobile加载的活动页面元素的ID .我知道我们可以$.mobile.activePage用来获取当前页面,并且我们可以使用获取此元素的ID $.mobile.activePage.attr('id').但是,它是undefined在第一次加载应用程序时.在我的特定应用程序中,我希望用户能够从任何URL输入,我需要知道当前加载的页面,以便正确初始化我的导航系统
$(document).bind('pageinit', function() {
if($.mobile.activePage !== undefined) {
console.log($.mobile.activePage.attr('id'));
}
else {
console.log('1st page load detected');
}
});
Run Code Online (Sandbox Code Playgroud)
输出: 1st page load detected首次加载时和每个后续页面上的ID.如何在第一次加载时获取ID?!?
fre*_*ent 11
我认为你的问题是,pageinit太早,无法查询活动页面类.
如果您加载第一页,则在调用changePage到第一页之前将触发pageinit(第一页也通过changePage调用加载).仅JQM中的@about第3639行,活动页面类被分配给页面.
到那时,pageinit早已不复存在.
如果要获取第一页的ID,请使用任何其他可用页面事件:
pagebeforeload = triggered before the load request (inside changepage) is made
pageload = triggered after the page was loaded
pagebeforechange = triggered before a changepage is made
pagechange = triggered after changepage is done
pagebeforeshow = triggered before the page is shown
pageshow = triggered when the page is shown
Run Code Online (Sandbox Code Playgroud)
我会使用pagebeforeshow,或者如果你想调整很多内容,请尝试使用pagechange或pagebeforechange.
希望有所帮助!
| 归档时间: |
|
| 查看次数: |
3062 次 |
| 最近记录: |