1

对于我使用 jquery mobile 构建的 phonegap 应用程序,如果我想转到另一个页面,例如如果我想从 index.html 转到 users.html,我会使用 rel="external"。

我使用此选项是因为否则我无法在 users.html 中使用 javascript 函数。例如,它不会执行 document.ready 中的内容。但是.. 如果我使用 rel="external" 那么它将起作用。 .

问题是,如果我使用 rel="external" 转换(幻灯片)将不再起作用..有人知道为什么会这样吗?

4

1 回答 1

2

尝试使用 pageinit 而不是 document.ready 和 rel="external"。这是在页面初始化后触发的。您还可以使用其他事件,具体取决于您的需要,例如 pageshow 或 bagebeforeshow。

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

更多关于 jQM 事件http://jquerymobile.com/demos/1.1.1/docs/api/events.html

以下是他们对 document.ready 的评价:

重要提示:使用 $(document).bind('pageinit'),而不是 $(document).ready()

在 jQuery 中学习的第一件事是调用 $(document).ready() 函数中的代码,以便在加载 DOM 后立即执行所有内容。但是,在 jQuery Mobile 中,Ajax 用于在您导航时将每个页面的内容加载到 DOM 中,并且 DOM 就绪处理程序仅针对第一页执行。要在加载和创建新页面时执行代码,您可以绑定到 pageinit 事件。此事件在本页底部有详细说明。

于 2012-08-09T11:01:33.827 回答