jQuery Mobile pageinit在第一次加载页面上不起作用(可复制)

jQuery Mobile pageinit not working on first load pages (replicable)

本文关键字:不起作用 可复制 pageinit Mobile 第一次 加载 jQuery      更新时间:2023-09-26

重新加载页面或直接导航到jQuery Mobile哈希URL不会触发pageinit一次。例如,我在我的第二个页面上尝试过这个:

    $(function () {
        $(page).bind('pageinit', function () {
            console.log('bind pageinit');
        });
        $(document).on('pagecreate', page, function () {
            console.log('pagecreate');
        });
        $(document).on('pageshow', page, function () {
            console.log('pageshow');
        });
        $(document).on('pageinit', page, function () {
            console.log('pageinit');
        });
    });

在第一页,我点击进入第二页,上面的生命周期被写入控制台。URL还附加了#2。这很好,但当转到另一台机器上的链接时,页面init不会启动。似乎只有点击一个按钮才能触发页面初始化。

我有一个活生生的例子:http://dl.dropbox.com/u/5986646/jqm-pageinit.html.将其粘贴到URL中,事件不会触发:http://dl.dropbox.com/u/5986646/jqm-pageinit.html#two(注意散列URL)。

是的,我也遇到了同样的问题。

为了在页面init a上执行一些javascript代码,请使用以下结构:

$(document).bind("mobileinit", function(){
    $('#mainPage').live('pageshow', function(){
        // Some Javascript code
    });
});

现在,我可以在调用页面的所有时间执行代码。