2014-02-10 19 views
0

JQuery Mobile - 运行load()html并在之后立即导航()。JQuery Mobile - 运行load()html并在之后立即导航()。

我正在实现一个使用jQuery Mobile的小应用程序,其中我有一个登录屏幕,可以访问带有导致几页的菜单的主页。我的问题是我怎样才能动态加载页面,只有当我点击菜单。

我试图做这样

$('#home').load('home.html'); 
$.mobile.navigate("#home"); 

但尽管承载导航的效果的东西不起作用,或者不重定向到该页面。

任何人都可以给我一个提示如何做到这一点?

回答

1

你只需要使用回调。因为load是异步的,所以在加载完成之前,实际上最终会调用$.mobile.navigate。通过发送下一步作为回调,确保在完成第一步后发生。

从jQuery的文档:

如果提供一个“完整”的回调,之后 后处理被执行,HTML插入已执行。回调是 为jQuery集合中的每个元素触发一次,并且依次为每个DOM元素设置 。

所以,你的代码看起来像:

$("#home").load("home.html", function() { 
    $.mobile.navigate("#home"); 
});