你不能手动触发页面事件,因为他们不这样工作。
只有在页面初始化或您的情况下才会自动触发$.mobile.loadPage()功能被使用。
此外,我不认为你想触发pageload事件,因为,就像我告诉你前面就会引发$.mobile.loadPage()后才功能。该函数不接受#页面作为参数,而是必须提供真正的html文件。
或者,你可以启动changePage功能是这样的:
$.mobile.changePage("#page2");
此功能可以用#页参数一起使用。还有一件事页面加载事件也可以用$.mobile.changePage()触发,但只限于打开另一个html文件,就像 $ .mobile.loadPage()函数一样。
编辑:
不幸的是,从评论中的解决方案将无法工作。只是因为你可以暂停页面加载。但没有什么能阻止你作弊。让您的初始页面为空,使用其页面事件查询数据库并动态创建索引页面。然后,将changePage更改为#index页面。这是可以完成的唯一方法。
工作例如:http://jsfiddle.net/Gajotres/g7S58/
在这个例子中,我不查询数据库,因为我没有任何不过的例子,因为我创建一个动态网页内容,并将它附加到第二#INDEX页是相似的。这是没有问题的唯一方法。
HTML:
<!DOCTYPE html>
<html>
<head>
<title>jQM Complex Demo</title>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8'/>
<meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; minimum-scale=1.0; user-scalable=no; target-densityDpi=device-dpi"/>
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.css" />
<script src="http://code.jquery.com/mobile/1.3.1/jquery.mobile-1.3.1.min.js"></script>
</head>
<body>
<div data-role="page" id="hidden">
</div>
<div data-role="page" id="index">
<div data-theme="b" data-role="header">
<h1>Index page</h1>
</div>
<div data-role="content">
</div>
</div>
</body>
</html>
的Javascript:
$(document).on('pagebeforecreate', '#hidden', function(e){
$("<ul>").attr({'data-role':'listview','data-inset':'false','id':'mylist'}).append('<li><a>List element 1</a></li>').appendTo($('#index [ data-role="content"]'));
$.mobile.changePage('#index');
});
你到底想达到什么目的? pageload事件不能手动触发。如果打开另一个html文件,只能通过使用$ .mobile.loadPage()和$ .mobile.changePage()来完成。它不能用于内部#页面。 – Gajotres 2013-05-13 08:11:31