我对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>
我有什么问题吗? (或者,有没有办法可以看到按下按钮时会发生什么?)
答案 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>