Динамический контент в jQuery Mobile? - PullRequest
1 голос
/ 14 марта 2011

Привет! Я тестирую jQuery Mobile и у меня есть вопрос.Я написал простой плагин jQuery, который анимирует несколько изображений на основе некоторых параметров.Очень простые вещи.Теперь это работает на любой странице, на которую я ссылаюсь внешне (rel = "external").Однако, если я использую встроенную навигацию по страницам на основе Ajax, ни одно из изображений не загружается на последующих страницах.Есть ли способ работать с динамически создаваемым контентом в jQuery Mobile?

Сценарий:

$(document).ready(function(){   
  $('#slideshow').rotator(50, 'img');   
});

Разметка:

...
<div data-role="page">
    <div id="slideshow">
      <img src="images/1.png">
      <img src="images/2.png">
      <img src="images/3.png">
    </div>
</div>
...

Ответы [ 3 ]

4 голосов
/ 16 марта 2011

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

$(document).ready(function(){
  $("#pageID").live('pagebeforecreate',function(event){
    $('#slideshow').rotator(50,'img');
  });
});
1 голос
/ 15 марта 2011

Ваш document.ready находится на подстранице, и когда ссылка загружается с помощью AJAX, только DIV страницы берется и помещается в ваш DOM, поэтому любой javascript, который вы положили туда в голову, не работает И нет документа.потому что AJAX никогда не запускает его.

0 голосов
/ 14 марта 2011

Если эти изображения создаются динамически, вам нужно будет сделать $('#slideshow').rotator(50, 'img'); после их создания, скорее всего, в функции обратного вызова $ .ajax.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...