在jQuery Mobile中完成ajax导航时执行javascript代码

时间:2012-07-23 15:31:25

标签: javascript jquery jquery-mobile

我正在开发一个jQuery移动网络应用程序,目前有两个页面。

首先,出现第1页,如果用户点击链接,第2页将打开jQuery mobile ajax导航系统。

但是,有一个问题。第2页应该在加载时运行javascript代码,但jQuery mobile ajax导航会删除该脚本,即使我将<script>...</script>放入<div data-role="content">...</div> ...(如果我使用rel="external",则运行javascript我在第1页中的链接,但如果我想使用ajax导航,javascript将无法加载......)

当第2页加载 jQuery Mobile的ajax导航系统时,如何运行该javascript代码?

2 个答案:

答案 0 :(得分:2)

在您的第2页中,添加以下内容:

$(document).bind("pageshow", 
  function(e) {
    // script here
  }
);

在jQuery mobile中,页面正在使用ajax加载并默认缓存。显示第2页时,会触发“pageshow”事件。

答案 1 :(得分:0)

你可以在第一页的头部使用这样的东西:

$( document ).on( "pagecreate", "#PAGEIDHERE", function() {
   //do something here
});

然后只有在创建页面后才会调用脚本。或者你可以使用'beforecreate'等。