0

这是 index.html

        <script>
        $(document).on('pagebeforeshow','id="container"',  function(){       
            $.mobile.activePage.find('id="content-container"').load("content.html", function(){ 
                $(this).parent().trigger('pagecreate');
            }); 

        }); 

    </script>

content.html 页面在加载时必须从服务器检索数据。

执行上述代码时,在 content.html 页面中会触发哪个事件?


我已经尝试了以下事件,但它们都不起作用

  1. 显示前的页面
  2. 页面显示
  3. 设备就绪
  4. 页面创建
  5. 页面初始化
  6. 页面加载
4

1 回答 1

1

它们都不会触发,因为它们没有链接到加载功能。您应该使用该函数的 jQuery Mobile 版本,称为:loadPage。它是函数加载的包装函数。

这是官方链接: http ://api.jquerymobile.com/jQuery.mobile.loadPage/

在这种情况下,页面事件顺序如下所示:

  1. 加载前的页面
  2. pagebeforecreate
  3. 页面创建
  4. 页面初始化
  5. 页面加载

要正确检测 pageload 和 pagebefpreload 事件,请像这样使用它们:

$(document).on('pagebeforeload', function(){    
    console && console.log("pagebeforeload!!");
});                 

$(document).on('pageload', function(){    
    console && console.log("pageload!!");
});

在此处阅读有关它的更多信息,您还将找到一个工作示例。

于 2013-10-31T09:27:03.673 回答