JQuery Mobile документ готовая альтернатива - PullRequest
0 голосов
/ 25 июля 2011

Я потратил часы, пытаясь отладить созданную мною мобильную страницу jquery, и, наконец, заставил ее работать.Я поместил скрипт в data-role = "page" class = "page-map4" div.Мне было интересно, почему это так, я бы предпочел, чтобы это не было волшебством для меня.Это не имело значения, если я зашел на страницу напрямую, только если я зашел на нее с другой страницы JQuery Mobile.

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

Вопрос: Почему вышеупомянутый скрипт должен быть в div data-role страницы для корректной работы при переходе с другой страницы JQuery Mobile?

Ответы [ 2 ]

2 голосов
/ 25 июля 2011

Для событий страницы я просто делаю это в своем коде jQuery. Это происходит в наборе тегов <script> в элементе <head> страницы после любой привязки документа к глобальному $.mobile:

$('#YOUR_PAGE_ID').live('pageshow',function(event, ui){
  yourGeoCode();
});
1 голос
/ 01 февраля 2012

Вы должны использовать событие pageinit, смотрите это сообщение ' Использование jQuery Mobile - не забывайте использовать pageinit (), а не $ (document) .ready () ' для получения дополнительной информации

...