$.mobile.changePage 之后的回调函数通过 AJAX 加载

Callback function after $.mobile.changePage loads via AJAX?

本文关键字:AJAX 加载 函数 回调 mobile changePage 之后      更新时间:2023-09-26

我想绑定一些新事件并在动态加载的页面上调用一些函数,但那里的示例似乎已经过时和/或不完整(甚至是 jqm 文档)。我正在使用jQuery 1.7.2和jQuery Mobile 1.2。做这样的事情的正确方法是什么?

$('#someButton').click(function(e) {
        e.preventDefault();
        $.mobile.changePage("mypage2.html", {
            type: 'GET',
            changeHash: true
        });  
        //BELOW SHOULD BE CALLED WHEN THE PAGE LOADS THOUGH
        doSomething();
        $('#menu_page .request-items', contentScopeOfPage2).click(function (e) {
             doSomethingElse();
        });
});

通常,您为有问题的伪页面设置一个委托的事件处理程序,如下所示:

$(document).on('pageinit', '#menu_page', function () {
    $(this).find('.request-items').on('click', doSomethingElse);
});

将此代码放在全局范围内,每当初始化#menu_page伪页面(无论是远程文档还是同一文档中的伪页面)时,都将正确设置 click 事件处理程序。

这是一个演示:http://jsfiddle.net/mSAzF/