Как инициализировать страницы в jquery mobile?Pageinit не стреляет - PullRequest
41 голосов
/ 25 сентября 2011

Как правильно инициализировать объекты на мобильной странице jquery? events docs говорит, что использует "pageInit()" без примеров этой функции, но дает примеры привязки к методу "pageinit" (обратите внимание на разницу регистра).Однако на этой простой тестовой странице событие вообще не отображается:

<html>
 <body>  
  <script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>  
  <script type="text/javascript" charset="utf-8" src="http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.js"></script>

  <div data-role="page" id="myPage">
    test
  </div>

  <script>
    $("#myPage").live('pageinit',function() {
        alert("This never happens");
    });
  </script>
 </body>
</html>

Чего мне не хватает?Я должен добавить, что если вы измените pageinit на другое событие, например pagecreate, этот код будет работать.

---- ОБНОВЛЕНИЕ ----

Эта ошибка помечен как закрытый в трекере проблем JQM.Очевидно, мнения расходятся о том, работает ли это должным образом.

Ответы [ 11 ]

0 голосов
/ 26 сентября 2011

События не запускаются на начальной странице, только на страницах, которые вы загружаете через Ajax. В приведенном выше случае вы можете просто:

<script>
  $(document).ready(function() {
      alert("This happens");
  });
</script>
...