【问题标题】:Which events get fired in the page being loaded using $load method of jQuery?使用 jQuery 的 $load 方法加载的页面中会触发哪些事件?
【发布时间】:2013-10-31 07:55:09
【问题描述】:

这里是 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. 页面展示
  3. 设备就绪
  4. 页面创建
  5. pageinit
  6. 页面加载

【问题讨论】:

  • 你试过换页了吗
  • 是的,pagechange 也不会被解雇...
  • 我无法理解你的代码。使用这个链接我想你可以从中得到帮助1.bp.blogspot.com/-YfTMZd-Ta0o/UGpmlFqH_4I/AAAAAAAAATI/…
  • '$('content').load('conent.html')'..当 content.html 开始使用 ajax 加载时,加载时在 content.html 中触发事件 填充数据..
  • 您找到解决方案了吗

标签: cordova jquery-mobile jquery-events


【解决方案1】:

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

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

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

  1. pagebeforeload
  2. pagebeforecreate
  3. 页面创建
  4. pageinit
  5. 页面加载

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

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

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

阅读更多信息here,您还将找到一个工作示例。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 2014-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多