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

时间:2012-08-14 19:24:05

标签: javascript jquery jquery-mobile

我想绑定一些新事件并在动态加载的页面上调用一些函数,但那里的示例似乎过时和/或不完整(甚至是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();
        });
});

1 个答案:

答案 0 :(得分:3)

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

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

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

以下是演示:http://jsfiddle.net/mSAzF/