使用jQuery的$ load方法在正在加载的页面中触发了哪些事件?

时间:2013-10-31 07:55:09

标签: jquery-mobile javascript-events cordova

这是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. pagebeforeshow
  2. pageshow
  3. deviceready
  4. pagecreate
  5. pageinit
  6. 页面加载

1 个答案:

答案 0 :(得分:1)

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

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

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

  1. pagebeforeload
  2. pagebeforecreate
  3. pagecreate
  4. pageinit
  5. 页面加载
  6. 要正确检测pageload和pagebefpreload事件,请使用它们:

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

    详细了解 here ,您还可以找到一个有效的例子。