我正在开发一个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代码?
答案 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'等。