我已经生成了一个空白的新Cordova项目(使用WebStorm)。由于某种原因,如果我要内联添加事件侦听器(用于deviceready),它将无法正常工作。如何使用外部文件,效果很好。
index.html
<body>
....
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
</body>
index.js
var app = {
initialize: function() {
document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
},
onDeviceReady: function() {
alert('ondeviceready');
}
};
app.initialize();
这很完美,警报将被触发。
但是如果我将事件监听器内联,它将不会触发:
<body>
<script type="text/javascript" src="cordova.js"></script>
<script type="text/javascript" src="js/index.js"></script>
<script type="text/javascript">
document.addEventListener("deviceready", onDeviceReady,false);
function onDeviceReady() {
alert('ondeviceready');
}
</script>
</body>
我还尝试将整个index.js粘贴为内联脚本,但都没有起作用。
有人对此罕见原因有解释吗?
答案 0 :(得分:0)
我认为原因是在第二个示例中,尚未声明onDeviceReady。 试试这个
<script type="text/javascript">
function onDeviceReady() {
alert('ondeviceready');
}
document.addEventListener("deviceready", onDeviceReady,false);
</script>