2013-02-28 4 views
4

Я хочу загрузить содержимое страницы динамически через AJAX до того, как загрузится мобильное устройство jQuery, поэтому я пытаюсь использовать событие mobileinit. Но это не работает. Вот мой код, пожалуйста, помогитеjQuery mobile mobileinit не запускается

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 
    <html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 

    <link rel="stylesheet" href="http://jquerymobile.com/demos/1.3.0-beta.1/css/themes/default/jquery.mobile-1.3.0-beta.1.css" /> 
    <script src="js/jquery-1.8.2.min.js"></script> 
    <script> 
     $(document).bind("mobileinit", function() {   
      $("#notification").text("Please enter your domain name."); 
     }); 
    </script> 
    <script src="js/jquery.mobile-1.3.0.min.js"></script> 
    <title>Insert title here</title> 
    </head> 
    <body> 
     <h3 id="notification" style="font-family: fantasy; color: red; text-align: center;"></h3> 
    </body> 
    </html> 
+0

Вы можете разместить часть вашего кода который связывается с событием 'mobileinit'? –

+0

@ FrédéricHamidi Извините, что я опубликовал предыдущую версию кода. См. Сообщение об обновлениях. – 2013-02-28 14:16:37

ответ

3

Это не будет работать.

Содержимое DOM по-прежнему пуст, когда событие mobileinit является триггретным. Pageinit - это первое мероприятие, в котором вы даже можете подумать об этом. Но гораздо лучше - событие pagebeforeshow.

$(document).on('pagebeforeshow', '#index', function(){  

}); 

Вот мой старый пример добавления динамически генерируемый контент: http://jsfiddle.net/Gajotres/GnB3t/

А вот другой пример, просто нажмите кнопку Далее, чтобы увидеть динамически созданную страницу: http://jsfiddle.net/Gajotres/8jcGb/

0

попробовать это

<script src="js/jquery.mobile-1.3.0.min.js"></script> 
<script> 
function init(){ 
    $(document).bind("mobileinit", function() {   
     $("#notification").text("Please enter your domain name."); 
    }); 
} 
</script> 
<body onLoad="init()"> 
</body> 
+3

Нет, привязка к 'mobileinit' после загрузки jQuery Mobile не принесет ничего, поскольку событие уже будет запущено. –

+0

@ Малек Хиджази Не работает – 2013-03-01 06:26:40

Смежные вопросы