2

我不知道如何在特定页面加载后触发回调。

例如,我有两个页面:

<!-- 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 -->

很容易吧?现在我想触发该幻灯片作为回调,但仅在“栏”页面准备好时。绑定到文档上的 pagecreate 事件会在每个 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? :/
});

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

我做错了什么?谢谢你。

4

1 回答 1

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是加载的最后一个事件,在这种情况下页面已完全加载并且页面具有适当的高度。

于 2013-04-04T08:20:54.233 回答