我花了好几个小时试图调试我创建的jquery移动页面,最后让它运行起来。我把脚本放在data-role =“page”class =“page-map4”div中。我想知道为什么会这样,我宁愿这不是我的魔力。如果我直接访问页面,这无关紧要,只有当我从另一个JQuery Mobile页面访问它时。
$('.page-map4').live("pageshow", function(){
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(success, error);
} else {
error('Geolocation not supported');
}
});
问题:为什么上面的脚本必须在页面数据角色div中才能从另一个JQuery Mobile页面导航时正常工作?
答案 0 :(得分:2)
对于页面事件,我只是在我的jQuery代码中执行此操作。在绑定到<script>
全局的任何文档之后,这位于页面的<head>
元素中的$.mobile
标记集中:
$('#YOUR_PAGE_ID').live('pageshow',function(event, ui){
yourGeoCode();
});
答案 1 :(得分:1)
您应该使用pageinit事件,请参阅此帖子“Using jQuery Mobile – Remember to use pageinit() and not $(document).ready()”以获取更多信息