jQuerymobile,如何在ajax页面加载后触发回调

时间:2013-04-04 08:19:49

标签: jquery jquery-mobile

我无法弄清楚如何在特定页面加载后触发回调。

例如,我有两页:

<!-- my page -->
<div data-role="page" id="foo">

    <a href="#bar">bar</a></p>  

</div><!-- /page -->


<!-- other page  -->
<div data-role="page" id="bar">

    <div id="slideshow"></div>

</div><!-- /page -->

很简单吧?现在我想将该幻灯片显示为回调,但仅当“bar”页面准备就绪时。绑定到文档上的pagecreate事件会触发每个页面创建,

 $(document).bind('pagecreate') // I don't need this for every page, just my slideshows

$( '#bar' ).on( 'pagecreate',function(event){ 
    whatEver();     // why you don't just work? :/
});

根本不起作用(或者我只是没弄清楚它应该做什么)。

我做错了什么?谢谢。

1 个答案:

答案 0 :(得分:2)

这样做:

$(document).on('pagecreate', '#bar',function(event){ 
    whatEver();     // why you don't just work? :/
});

但是如果你在这个页面上做任何可视化的事情(比如幻灯片)我建议使用:

$(document).on('pageshow', '#bar',function(event){ 
    whatEver();     // why you don't just work? :/
});

jQM在每个页面事件中显示视觉更改(如幻灯片插件,轮播等等)都有问题,除了 pageshow Pageshow 是要加载的最后一个事件,在这种情况下,页面已完全加载且页面具有适当的高度。