数据角色在 jqm 中不只显示一页
data-role not displaying only one page in jqm
我在 jquery 移动设备正常工作时遇到了一些问题。我正在使用 the anatomy of a page and this Whosebug example.
我期望的输出是 jqm 仅显示代码中第一个数据角色的内容。然而,实际发生的是在加载 jqm 之后,它将视图设置为浏览器的大小 window,但仍然显示第二个数据角色的内容及其下方的单词 "loading"。
我很确定我遗漏了一些非常简单的东西。任何帮助将不胜感激。
我正在使用 PhoneGap 和 RequireJS。
代码如下:
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="msapplication-tap-highlight" content="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=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/app.css" />
<title>Student Picker</title>
</head>
<body>
<div data-role="page" id="test1">
<a href="#test2">Goto Test2</a>
</div>
<div data-role="page" id="test2">
<a href="#test1">Goto Test1</a>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="require.js"></script>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
main.js
require.config({
baseUrl: 'js',
paths: {
'jquery': 'jquery',
'jquery.mobile.config': 'jquery.mobile.config',
'jquery.mobile': 'jquery.mobile',
'app': 'app'
},
map: {
'*': {'jquery': 'jquery-private'},
'jquery-private': { 'jquery': 'jquery' }
},
shim: {
'jquery.mobile.config': ['jquery'],
'jquery.mobile': ['jquery', 'jquery.mobile.config']
}
});
require(['jquery', 'app', 'jquery.mobile'], function(jq, app) {
jq(function() {
//app.initialize();
});
});
jquery.mobile.config
define(['jquery'], function (jq) {
jq(document).on("mobileinit", function () {
jq.mobile.ajaxEnabled = false;
jq.mobile.linkBindingEnabled = false;
jq.mobile.hashListeningEnabled = false;
jq.mobile.pushStateEnabled = false;
});
});
输出图片:
无论有没有 jqm 配置文件,结果都是一样的。如果您需要更多信息,请随时发表评论:)
CSS代码中缺少与 JQM 文件对应的文件。
添加 CSS 文件,它应该可以工作,因为 "data-role" 作为 CSS 选择器工作。
我在 jquery 移动设备正常工作时遇到了一些问题。我正在使用 the anatomy of a page and this Whosebug example.
我期望的输出是 jqm 仅显示代码中第一个数据角色的内容。然而,实际发生的是在加载 jqm 之后,它将视图设置为浏览器的大小 window,但仍然显示第二个数据角色的内容及其下方的单词 "loading"。
我很确定我遗漏了一些非常简单的东西。任何帮助将不胜感激。
我正在使用 PhoneGap 和 RequireJS。
代码如下:
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<meta name="format-detection" content="telephone=no" />
<meta name="msapplication-tap-highlight" content="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=device-dpi" />
<link rel="stylesheet" type="text/css" href="css/app.css" />
<title>Student Picker</title>
</head>
<body>
<div data-role="page" id="test1">
<a href="#test2">Goto Test2</a>
</div>
<div data-role="page" id="test2">
<a href="#test1">Goto Test1</a>
</div>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="require.js"></script>
<script type="text/javascript" src="main.js"></script>
</body>
</html>
main.js
require.config({
baseUrl: 'js',
paths: {
'jquery': 'jquery',
'jquery.mobile.config': 'jquery.mobile.config',
'jquery.mobile': 'jquery.mobile',
'app': 'app'
},
map: {
'*': {'jquery': 'jquery-private'},
'jquery-private': { 'jquery': 'jquery' }
},
shim: {
'jquery.mobile.config': ['jquery'],
'jquery.mobile': ['jquery', 'jquery.mobile.config']
}
});
require(['jquery', 'app', 'jquery.mobile'], function(jq, app) {
jq(function() {
//app.initialize();
});
});
jquery.mobile.config
define(['jquery'], function (jq) {
jq(document).on("mobileinit", function () {
jq.mobile.ajaxEnabled = false;
jq.mobile.linkBindingEnabled = false;
jq.mobile.hashListeningEnabled = false;
jq.mobile.pushStateEnabled = false;
});
});
输出图片:
无论有没有 jqm 配置文件,结果都是一样的。如果您需要更多信息,请随时发表评论:)
CSS代码中缺少与 JQM 文件对应的文件。
添加 CSS 文件,它应该可以工作,因为 "data-role" 作为 CSS 选择器工作。