deviceready总是在第二页而不是在第一页上触发

时间:2014-07-30 19:38:23

标签: javascript android jquery-mobile cordova

我是开始使用andriod App的phonegap框架的初学者。我有以下问题:

我有以下页面结构:

    <!DOCTYPE HTML>
    <html>
     <head>

    <script type="text/javascript">

    $(function(){
    document.addEventListener("deviceready", function onDeviceReady(){
                                                alert("Device Ready")                                                
                                              }, true);

    });
   </script>
</head>
<body>

<div id="page1" data-role="page" data-quicklinks="true" > 
  <a href="#page2"> Go to Page 2</a>
</div>

<div id="page2" data-role="page" data-quicklinks="true" > 
  <a href="#page1"> Go to Page 1</a>
</div>
</body>
</html>

当我打开文档时,我看到#page1的内容,但看不到“设备就绪”的提醒,但是当我点击链接到#page2时,出现“设备就绪”警报。我希望设备准备好在我第一次打开page1时被解雇,真的不知道如何处理它。我尝试在#page1 div中插入JS代码,但仍无效果。

请告诉我哪里出错了。


以下是我使用的完整代码: 我正在将jQuery库存储在我的本地文件夹中,因为我需要脱机运行。 在本地文件夹中也有cordova.js.

<!DOCTYPE HTML>
<html>
<head>

<script src="js/jquery.js"></script> 
 <script src="jquery_mobile/jquery.mobile-1.4.3.js"></script>

  <!--PhoneGap Libraries --> 
  <script src="cordova.js"></script>
</head>
<body>
  <div id="page1" data-role="page" data-quicklinks="true" > 
    <a href="#page2" rel="external"> Go to Page 2</a>
  </div>

  <div id="page2" data-role="page" data-quicklinks="true" > 
    <a href="#page1" rel="external"> Go to Page 1</a>
  </div>
  <script type="text/javascript">
    document.addEventListener("deviceready", function onDeviceReady(){
      alert("Device Ready");                                                
    }, true);
  </script>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

您需要移除 $ 函数调用并将其直接放在<script>标记中,如下所示

<script type="text/javascript">

   document.addEventListener("deviceready", function onDeviceReady(){
                                                alert("Device Ready")                                                
                                              }, true);

</script>

答案 1 :(得分:0)

您需要将脚本放在页面的末尾:

<!DOCTYPE HTML>
<html>
<head>
</head>
<body>
  <div id="page1" data-role="page" data-quicklinks="true" > 
    <a href="#page2"> Go to Page 2</a>
  </div>

  <div id="page2" data-role="page" data-quicklinks="true" > 
    <a href="#page1"> Go to Page 1</a>
  </div>
  <script type="text/javascript">
    document.addEventListener("deviceready", function onDeviceReady(){
      alert("Device Ready")                                                
    }, true);
  </script>
</body>
</html>

答案 2 :(得分:0)

添加jquery移动库&amp; cordova.js

<!--jquery mobile libraries -->
<script type="text/javascript" src="cordova.js"></script>

然后

<script type="text/javascript">

document.addEventListener("deviceready", function onDeviceReady(){ alert("Device Ready") }, true);

</script>