我在 jqmobile 应用程序中的 .trigger('create') 方法有一个奇怪的问题。
我正在尝试在整个站点上创建一些共享的、重复使用的页面。
这是我的 index.html;
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>phonegap & jquery mobile boilerplate</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/jquery.mobile.structure.css"/>
<link rel="stylesheet" href="css/jquery.mobile.theme.css"/>
<script>
var userAgent = navigator.userAgent + '';
if (userAgent.indexOf('iPhone') > -1) {
document.write('<script src="js/lib/cordova-iphone.js"></sc' + 'ript>');
var mobile_system = 'iphone';
} else if (userAgent.indexOf('Android') > -1) {
document.write('<script src="js/lib/cordova-android.js"></sc' + 'ript>');
var mobile_system = 'android';
} else {
var mobile_system = '';
}
</script>
<script src="js/lib/jquery.js"></script>
<!-- your scripts here -->
<script src="js/app/app.js"></script>
<script src="js/app/bootstrap.js"></script>
<script src="js/lib/jquery.mobile.js"></script>
<script src="js/globals.js"></script>
<script src="js/logged_in.js"></script>
</head>
<body>
<div data-role="page">
<div id="headerDiv" data-role='header'><a href="index.html" data-icon="home">Home</a>
<h1>Jubilee Distributors</h1>
<a href="login.html" id="logged_in" data-icon="home">Login</a></div>
<div id="navDiv"></div>
<div data-role="content">Blah Blah
</div>
<div id='footerDiv' data-role="footer"></div>
</div>
</body>
</html>
这是我共享的 nav.html:
<div data-role='navbar'>
<ul>
<li><a href="orders.html">Orders</a></li>
<li><a href="clients.html">Clients</a></li>
<li><a href="products.html">Products</a></li>
</ul>
</div>
在 dom 准备就绪时,我正在 globals.js 文件中执行以下操作:
$(document).bind("mobileinit", function () {
jQuery.support.cors = true;
$.mobile.allowCrossDomainPages = true;
});
$(function () {
$('#navDiv').load('shared/nav.html').trigger('create');
$('#footerDiv').load('shared/footer.html').trigger("create");
});
html 加载到 div 中没有问题,但触发器似乎没有做任何事情,因为它的样式.. 有什么我遗漏的吗?
干杯,