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

标签 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 -->

很简单吧?现在我想触发该幻灯片作为回调,但前提是“栏”页面准备就绪。绑定(bind)到文档上的 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? :/
});

根本不起作用(或者我只是不知道它应该做什么)。

我做错了什么?谢谢。

最佳答案

这样做:

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

关于jQuery mobile,如何在 ajax 页面加载后触发回调,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15805956/

相关文章:

尝试执行 jQuery AJAX 调用时出现 JavaScript 错误意外标识符

javascript - 将 $.proxy 与动态创建的元素一起使用

javascript - 如何简洁下面的jquery代码片段

jquery mobile 用另一个超链接替换超链接

javascript - jQuery Mobile 和 Google map 不可见

javascript - 按字母顺序对 tr 元素进行排序

jquery - 页面加载时如何将 iframe 滚动到底部?

javascript - 在 jqueryMobile HTML 页面中使用 jquery 提交时刷新部分标记

ajax - 在同一页面中动态插入内容而不是转到新页面

javascript - JQuery Mobile UI DatePicker 更改日期格式