【发布时间】:2012-01-24 06:13:40
【问题描述】:
我有一个简单的 PhoneGap 应用程序作为休闲:
<!DOCTYPE HTML>
<html>
<head>
<title>PhoneGap powered App</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="css/jquery.mobile-1.0.min.css" />
<script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script>
<script src="js/jquery-1.7.1.min.js"></script>
<script src="js/jquery.mobile-1.0.min.js"></script>
<script type="text/javascript" charset="utf-8">
document.addEventListener("deviceready", onDeviceReady, true);
function onDeviceReady() {
alert ('123');
}
</script>
</head>
<body onload="onDeviceReady()">
<div data-role="page">
<div data-role="header">
<h1>title</h1>
</div><!-- /header -->
<div data-role="content">
<h2>Begin by inserting your credentials.</h2>
...
</div><!-- /content -->
</div><!-- /page -->
<script type="text/javascript" charset="utf-8">
$(document).ready(function () {
});
</script>
</body>
</html>
这里发生的是警报alert ('123'); 永远不会被触发。但是,如果我取出其他 JavaScript 代码并只留下警报,它就会被触发。
另外,如果我使用$(document).ready(function () { alert ('123'); },我会收到警报。
这里发生了什么,为什么deviceready 没有被解雇?
有什么想法吗?
【问题讨论】:
-
你在使用它之后定义函数。将函数定义放在
document.addEventListener(...)调用之上,它应该可以工作。
标签: javascript jquery android cordova