有没有人经历过这样的事情。我有我的回调函数并像这样实现它们。
function onBodyLoad()
{
$('.loading').bind('click',function(){
console.log("loading screen should show now");
$('#teaserslider').hide();
$('#resultslider').hide();
$('#loading-screen').show();
})
document.addEventListener("deviceready", onDeviceReady(), false);
}
function onDeviceReady()
{
$('#loading-screen').hide();
setUpDatabase();
document.addEventListener("online", deviceIsOnline, false);
}
function deviceIsOnline(){
alert("Im online!");
if (true){
persistResultHistory();
}
}
连接到Wi-Fi,我得到(“我在线!”)弹出3次。我搜索了我的整个项目,它只在这里被调用。那么为什么3次呢?此外,当我打开飞机模式而没有任何连接到互联网时,我得到弹出窗口1次。有人经历过类似的行为吗? 非常感谢任何帮助。
答案 0 :(得分:1)
您正在立即调用该方法,而不是提供方法的引用,因此请替换:
document.addEventListener("deviceready", onDeviceReady(), false);
使用
document.addEventListener("deviceready", onDeviceReady, false);
同时将addEventListener()
置于onBodyLoad()
函数之外,并使其立即运行。
完整的源代码 - https://gist.github.com/3077171