按钮点击没有任何反应

时间:2016-10-12 11:36:19

标签: javascript android jquery html cordova

我对Cordova很新,我正在尝试创建一个使用device-motion插件(加速度计)的快速应用程序。我在index.html文件中创建了一个按钮,该按钮应该会在警告框中弹出X,Y,Z的东西,但按钮似乎没有做任何事情。

Javascript东西:

bindEvents: function() {
    document.addEventListener('deviceready', this.onDeviceReady, false);
    document.getElementById("btnClick").addEventListener("click", clickbtn);
},

function clickbtn(){    
      alert('Acceleration X: ' + acceleration.x + '\n' +
      'Acceleration Y: ' + acceleration.y + '\n' +
      'Acceleration Z: ' + acceleration.z + '\n' +
      'Timestamp: '      + acceleration.timestamp + '\n');
}

HTML:

<div class="app">
        <h1>Apache Cordova</h1>
        <button class="ui-btn" id="btnClick" >Get location</button> <br/>
</div>

我有什么问题吗? (或者,有没有办法可以看到按下按钮时会发生什么?)

2 个答案:

答案 0 :(得分:0)

看一下这个例子:https://cordova.apache.org/docs/en/4.0.0/cordova/events/events.deviceready.html

你的身体应该调用onload-function:

<body onload="onLoad()">

函数onload应该调用deviceready-function:

function onLoad() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

你应该使用按钮监听器创建一个deviceready-callback:

function onDeviceReady() {
    $("#btnClick").click(function(){
       //make some funny things
       alert("clicked");
    });
}

答案 1 :(得分:0)

试试这个。一旦完全加载phonegap,您的按钮就会开始工作。 Javascript代码:

document.addEventListener('deviceready', onDeviceReady, false);

function onDeviceReady(){
  document.getElementById("btnClick").onclick = function(){
     alert('Acceleration X: ' + acceleration.x + '\n' +
      'Acceleration Y: ' + acceleration.y + '\n' +
      'Acceleration Z: ' + acceleration.z + '\n' +
      'Timestamp: '      + acceleration.timestamp + '\n');
 }
}

并且您的HTML将保持不变。

<div class="app">
        <h1>Apache Cordova</h1>
        <button class="ui-btn" id="btnClick" >Get location</button> <br/>
</div>