【问题标题】:jQuery Mobile - binding to pageinit eventjQuery Mobile - 绑定到 pageinit 事件
【发布时间】:2011-10-11 17:02:52
【问题描述】:

我正在尝试理解以下jQuery Mobile 示例。

$( '#aboutPage' ).live( 'pageinit',function(event){
  alert( 'This page was just enhanced by jQuery Mobile!' );
});

在这种情况下#aboutPage 是什么? pageinit 绑定的对象是什么?

【问题讨论】:

    标签: jquery-mobile page-init


    【解决方案1】:

    aboutPage 应该是页面的 id。(带有data-role="page" 的iediv)。live() 将您定义的包含alert 的函数附加到pageinitpageinit 事件@.@ 987654328@在页面初始化时触发。

    所以简而言之,您的代码所做的是

    aboutPage初始化时会执行alert语句

    即使页面不在视图中,该页面也可能会被初始化。因此,即使在您转到该页面之前,也会触发 div 的pageinit。如果您正在加载另一个html文件作为新页面pageinit因为只有当您将该页面加载到视图中时才会触发该页面。因此,如果您想在您的 div 进入视图时执行某些操作,您可以尝试 pagebeforeshowpageshow.pagebeforeshow 将是动画开始前在新页面触发,动画结束后pageshow触发。

    【讨论】:

    • 是的。这就是我的猜测,我尝试使用 data-role="page" 在 div 上连接 pageinit 事件,但由于某种原因,当我第一次转换到页面时,该方法没有被调用。当我点击刷新时,该方法被调用。
    • 编辑了答案以解释这一点。希望对您有所帮助。
    • 想通了。每个页面都有自己的 javascript 来连接“pageshow”事件。但是我使用的是 $.mobile.changePage ,它只加载一个带有 data-role=page 的 div,并且该页面上没有其他任何内容(包括内联 javascript)被执行。这是帮助我的答案stackoverflow.com/questions/7449402/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    相关资源
    最近更新 更多