开发者

JQuery Mobile document ready alternative

I spent hours trying to debug a jquery mobile page开发者_如何学Go I had created and finally got it to work. I had put the script it in the data-role="page" class="page-map4" div. I was wondering why this was the case, I would rather this not be magic to me. This didn't matter if I accessed the page directly, only if I had accessed it from another JQuery Mobile page.

$('.page-map4').live("pageshow", function(){
        if (navigator.geolocation) {
              navigator.geolocation.getCurrentPosition(success, error);
        } else {
              error('Geolocation not supported');
        }
});

Question: Why does the above script have to be in the page data-role div to work correctly when navigated from another JQuery Mobile page?


For page events I simply do this in my jQuery code. This goes in a <script> tag-set in the <head> element of a page, after any document binding to the $.mobile global:

$('#YOUR_PAGE_ID').live('pageshow',function(event, ui){
  yourGeoCode();
});


You should use the pageinit event see this post 'Using jQuery Mobile – Remember to use pageinit() and not $(document).ready()' for more information

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜