В jQuery Mobile, как вы ориентируетесь на элемент, созданный с помощью loadPage? - PullRequest
1 голос
/ 17 августа 2011

Я загружаю «страницу» в DOM, используя $.mobile.loadPage().Затем я хочу нацелиться на созданный элемент, но я не понял, как это сделать.Я подумал, что это будет работать:

var toc = $.mobile.loadPage('toc.html');
toc.trigger('customevent');

Вышеприведенное не работает частично, потому что toc - это «объект отложенного обещания», а не хорошая старая ссылка JQuery DOM.Кроме того, это не работает, потому что вторая строка запускается до завершения loadPage.Есть ли способ запустить обратный вызов после loadPage?

Спасибо!

Ответы [ 3 ]

0 голосов
/ 17 августа 2011

Если вы знаете идентификатор загружаемой страницы, вы можете связать событие 'pagecreate' с этим объектом с помощью .live(), например, так:

$('#blah').live('pagecreate', function () {alert('created');});

Это сработает после загрузки страницыв дом.

0 голосов
/ 09 мая 2012

Я только что смог понять это, даже если у вас нет идентификатора, вот пример того, как я выполняю действие (fadeIn) над вставленным элементом ....

$(document).bind('pageload',function(evt,data){ 
    $(document).unbind('pageload');  
    $(data.page).fadeIn(); 
});
$.mobile.loadPage('mypage.html',{'pageContainer':$('#my_item')});
0 голосов
/ 17 августа 2011

Вы можете использовать pageshow для запуска обратного вызова при загрузке страницы.Пожалуйста, обратитесь к jQuery Mobile Events API для более подробной информации.

Примером может быть что-то вроде:

$('div').live('pageshow',function(event, ui){
    ...
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...