Подтвердить что ты не робот

Как связать событие "mobileinit" в jQuery Mobile?

Вот как я пытаюсь подключиться к событию mobileinit:

$(document).bind("mobileinit", function() {
    console.log("Mobile init");
});

Но это не работает в Chrome (последняя версия), Ripple v0.9.1 и на BlackBerry bold 9790 под управлением OS7.0.

Примечание. Я также попытался использовать .on() вместо .bind(), но не повезло. Не удалось выполнить и мобильные версии jQuery (1.0.1 и 1.1.0).

4b9b3361

Ответ 1

Я использовал это, и он работает.

Возможно ли, что что-то еще сломает script, или mobileinit не запускается?

Есть ли Chrome fire mobileinit?

Я только что нашел код, который я использовал в jQuery Mobile 1.0, и мы просто обновили его до 1.1.0, и он работает.

Вы также должны включить обычный ol 'jQuery, правильно?

jQueryMobile docs делает это, поэтому я уверен, что он работает. Что-то еще должно быть неправильно. Извините, я не очень помогу. У вас есть больше информации? Или попробуйте с другим устройством.

[edit] На этой же самой странице говорится: "Поскольку событие mobileinit запускается немедленно, вам нужно привязать обработчик событий до загрузки jQuery Mobile. Ссылка на ваши файлы JavaScript в следующем порядке:"

<script src="jquery.js"></script>
<script src="custom-scripting.js"></script> <!-- Note your script before jqm -->
<script src="jquery-mobile.js"></script>

Похоже, что порядок script может иметь значение.

Ответ 2

Вот еще один простой пример, который работает со мной (для android и ios)

<script type="text/javascript" src="files/resources/lib/jquery/jquery-1.8.2.js"> </script>
<script type="text/javascript">
$(document).bind("mobileinit", function()
                 {
                 if (navigator.userAgent.toLowerCase().indexOf("android") != -1)
                 {
                 // your logic here
                 $.mobile.defaultPageTransition = 'none';
                 $.mobile.defaultDialogTransition = 'none';
                 }
                 if (navigator.userAgent.toLowerCase().indexOf("msie") != -1)
                 {
                 // your logic here
                 $.mobile.allowCrossDomainPages = true;
                 $.support.cors = true;
                 }
                 });
</script>
<script type="text/javascript" src="files/resources/lib/jquerymobile/1.3.2/jquery.mobile-1.3.2.js"></script>
  • включить основной файл jquery
  • связать mobileinit перед jquery mobile
  • включить jQuery mobile js file