我有一个使用 jquerymobile + phonegap 创建的移动应用程序。安卓版本很好用。我为 iOS 版本使用了相同的 html + css + javascript 文件。当我在 XCode iPhone 6.0 模拟器中运行该应用程序时,所有 jquery 移动元素都没有样式,并且在带有搜索的列表视图的情况下,搜索不起作用。就好像 jquery 移动插件没有运行一样。
我使用 ajax 加载内容,然后在父页面元素上触发“创建”。
这是 index.html 页面的一部分。在页面的头部,我加载了 jquery、jquery mobile js 和 css:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="viewport" content="user-scalable=no, initial-scale=1, maximum-scale=1, minimum-scale=1, width=device-width, height=device-height, target-densitydpi=medium-dpi" />
<link rel="stylesheet" type="text/css" href="css/themes/mobiletheme.min.css" />
<link rel="stylesheet" type="text/css" href="css/jquery.mobile.structure-1.2.0.min.css" />
<title>App Name</title>
<script type="text/javascript" src="cordova-2.3.0.js"></script>
<script type="text/javascript" src="js/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="js/myown.js"></script>
<script type="text/javascript" src="js/jquery.mobile-1.2.0.min.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
app.initialize();
</script>
</head>
<body>
<div data-role="page" id="thepage">
<div data-role="header">Header code here</div>
<div data-role="content" id="thecontent">
Content is loaded here using ajax
</div>
<div data-role="footer">Footer code here</div>
</div>
</body>
这是使用 ajax 加载内容并触发创建的 javascript 部分:
$.ajax({
url: 'http://www.thedomain.com/thepage.php',
dataType: 'html',
type: 'GET',
success:function(data, textStatus, xhr){
$("#thecontent").html(data);
$("#thepage").trigger('create');
}
});
这在 Android 中运行良好。但在 iOS 中,就好像 trigger('create') 什么也没做。
有没有人经历过这样的事情?任何关于如何解决它的想法将不胜感激。
谢谢。