javascript - onDeviceReady 未在 PhoneGap hello world 应用程序中触发

标签 javascript cordova dom-events

我正在尝试做一个简单的 alert('test') 应用程序,但事件没有被触发,这是代码:

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

// Cordova is loaded and it is now safe to make calls Cordova methods
//
function onDeviceReady() {
    alert('omar');
}

HTML:

<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <title>Hello World</title>
    </head>
    <body>
        <div class="app">
            <h1>AAAA</h1>
        </div>
        <script type="text/javascript" src="cordova-2.2.0.js"></script>
        <script type="text/javascript" src="js/index.js"></script>

    </body>
</html>

这是为什么?

最佳答案

正确的方法是在添加事件监听器之前确保文档已经完全加载。

例子:

HTML:

<body onload="onLoad">

JS:

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

function onDeviceReady() {
   //anything you want done after deviceready has fired
}

通过 jQuery,您可以使用 $(document).ready()而不是 <body onload="onLoad()">

例子:

$(document).ready() {
    document.addEventListener("deviceready", onDeviceReady, false);
}

function onDeviceReady() {
   //anything you want done after deviceready has fired
}

关于javascript - onDeviceReady 未在 PhoneGap hello world 应用程序中触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13311805/

相关文章:

javascript - 如何检测浏览器(不是窗口)关闭事件

javascript - 如何使用 JavaScript 在单击鼠标时更改 td 中的 CSS

javascript - 云函数未在实时数据库上执行 ref.once

javascript - 在制作Phonegap应用程序时,我应该如何添加列表项并将其保存到本地存储?

cordova - 无法在 Windows 8.1 上构建 JS 和 TS Cordova(多设备混合)应用程序 [缺少 Windows 8 SDK]

cordova - 未找到 vs-mda-targets\Microsoft.MDA.targets

javascript - 浏览器之间的表单事件不兼容,如何解决?

javascript - 使用 Ajax 方法的同一实例多次调用后返回 promise

javascript - 使用 javascript 向表行 (<TR>) 添加内容?

javascript - 使用 d3.js 创建 x 轴上不等间隔的散点图