我有一个带有几个html文件的phonegap应用程序,对于每个html文件,我有js.file。 在每个js文件中,我添加了一个eventListener,如下所示:
function onDeviceReady()
{
alert('HI');
}
document.addEventListener('deviceready',onDeviceReady,false);
现在,当应用程序启动时,我正在检查设备是否准备好并提醒一些字符串(用于测试)。
但是当我更改为另一个html文件时,它不起作用,它只适用于index.html文件。 它似乎没有为其他页面触发事件监听器,为什么?
修改 好吧,正如它在下面的评论中说的那样,设备准备就绪只有一次。
所以我尝试使用onload事件调用javascript函数:
<head>
<script src = "js\file.js type = "text/javascript" language = "javascript">
</head>
<body onload = "onLoad()">
</body>
在js文件中有一个函数:
function onLoad()
{
alert('HI');
}
但是当我转到此页面时,它不会发出警报。
我也是这样尝试的:
<head>
<script>
$(document).ready(function()
{
alert('HI');
})
</script>
</head>
仍然......没什么......
答案 0 :(得分:1)
之前我遇到过类似的问题。首先,你如何指导其他页面? 如果你这样做
<a href="otherpage.html"></a>
有时.js文件无法正常工作。
当您向按钮添加点击事件并将其指向此类其他页面时;
setTimeOut( function() { document.location = "otherpage.html";},50);
它有效。
这就是我解决问题的方法,我希望它也适合你。
答案 1 :(得分:0)
因此,经过多次尝试让事情变得有效,我没有设法“触发”其他html页面的onload事件。
似乎JQM只支持一个带有多个div的html.file,每个div都像一个页面一样,使用属性data-role set to page。
我不知道为什么它没有为其他html文件触发事件,因为我将所有必要的js文件添加到那些html文件中。
如果你能找到任何其他解决方案,我会很感激..但同时我认为这是唯一的解决方案,在我看来这是一件坏事,因为如果你的应用程序有很多页面,那么将难以维护...这就是为什么我试图分成不同的页面(html文件)