2012-08-09 64 views
1

对于我用jquery mobile构建的phonegap应用程序,如果我想要转到另一个页面,例如如果我想从index.html转到用户,则使用rel =“external” .html ..jquery mobile rel =“external”transition

我使用这个选项,否则我不能在users.html中使用javascript函数..例如它不会在document.ready中执行whats ..但是..如果我使用rel = “外部”,那么它将工作..

问题是,如果我使用rel =“external”过渡(幻灯片)将无法再工作..有人知道它为什么是这样吗?

回答

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'),而不是$(文件).ready()

您在jQuery中学到的第一件事就是调用 $(document).ready()函数中的代码,以便尽快执行 DOM i被加载。但是,在jQuery Mobile中,Ajax用于在导航时将每个页面的 内容加载到DOM中,DOM准备好的 处理程序仅对第一页执行。要在加载和创建新页面时执行代码,可以绑定到pageinit事件。 此事件在本页底部详细解释。

+0

pageinit,bind是正确的方式,旁边,它也是有用的,把功能放在外部js :) – bdz 2012-08-09 13:24:24