2

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

1 回答 1

3

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

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

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

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

于 2012-08-14T19:39:43.627 回答