我正在使用vs2012,我正在开发一个PhoneGap应用程序,在该应用程序中我正在使用以下JavaScript代码:
document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady()
{
// alert("hh");
console.log("Entering index.html.onDeviceReady");
//var element = document.getElementById('deviceProperties');
var html = "";
html = html + "<li>" + 'Device Name: ' + device.name + "</li>";
html = html + "<li>" + 'Device Cordova: ' + device.cordova + "</li>";
html = html + "<li>" + 'Device Platform: ' + device.platform + "</li>";
html = html + "<li>" + 'Device UUID: ' + device.uuid + "</li>";
console.log(html);
$("#deviceProperties").html(html);
$("#deviceProperties").listview('refresh');
console.log("Exiting index.html.onDeviceReady");
}
但是没有调用该函数,也没有动态添加任何元素。我做错了什么?
答案 0 :(得分:0)
必须完全加载页面才能调用deviceready
事件侦听器,否则它将无法正常工作,因为设备尚未就绪。在您的脚本中,在完全加载页面之前调用它。试试这个:
function onLoad()
{
document.addEventListener("deviceready",onDeviceReady, true);
}
同样在html文件中更改:
<body onload="onLoad();">
编辑:将addEventListener
中的第三个参数更改为“true
”。
答案 1 :(得分:0)
确保在脚本之前添加脚本type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"
。