我使用$.mobile.loadPage()
将“页面”加载到DOM中。然后我想要定位创建的元素,但我还没想出如何做到这一点。这是我认为可行的:
var toc = $.mobile.loadPage('toc.html');
toc.trigger('customevent');
上述部分不起作用,因为toc
是一个“延迟的承诺对象”,而不是一个好的'jQuery DOM引用。此外,它不起作用,因为第二行是在loadPage完成之前触发的。有没有办法在loadPage之后触发回调?
谢谢!
答案 0 :(得分:0)
如果您知道正在加载的页面的ID,那么您可以使用.live()
将'pagecreate'事件绑定到该对象,如下所示:
$('#blah').live('pagecreate', function () {alert('created');});
页面加载到dom后会触发。
答案 1 :(得分:0)
我只是能够解决这个问题,即使你没有id,这里是我如何在插入的元素上执行动作(fadeIn)的一个例子....
$(document).bind('pageload',function(evt,data){
$(document).unbind('pageload');
$(data.page).fadeIn();
});
$.mobile.loadPage('mypage.html',{'pageContainer':$('#my_item')});
答案 2 :(得分:-1)
您可以使用pageshow
在网页加载时触发回调。有关详细信息,请参阅jQuery Mobile Events API。
一个例子是:
$('div').live('pageshow',function(event, ui){
...
});