繁体   English   中英

Phonegap事件侦听器不起作用

[英]Phonegap event listeners not working

Phonegap 3.4.0,jQuery 1.9.1,jQuery Mobile 1.4.2。 我已经发布了有关我的应用程序问题的其他问题,但潜在的问题似乎是我的事件侦听器无法正常工作。 这可能是因为我做错了,或者是有冲突。

我的javascript文件中包含以下代码:

function onPause() {
    initialize();
    navigator.app.exitApp();
}

function onResume() {
    initialize();
}

function onBack(e) {
    alert("running");
    if($.mobile.pageContainer.pagecontainer( 'getActivePage' ).attr( 'id' ) == "login") {
        e.preventDefault();
        alert("halted");
        navigator.app.exitApp();
    }
}

function onDeviceReady(){
    document.addEventListener("pause", onPause, false);
    document.addEventListener("resume", onResume, false);
    document.addEventListener("backbutton", onBack, false);
}

$( "body" ).load(function() {
    document.addEventListener("deviceready", onDeviceReady, false);
});

但是,从未调用过onPauseonResumeonBack这些函数。 这使我相信我的事件侦听器不正确或有问题。 我想念什么吗? 有什么我可以检查的可能导致此问题的东西吗?

从jQuery 1.8版开始不推荐使用.load() 因此,您的事件监听器可能永远不会添加。 .ready()将替代.load()

但是您还是应该考虑使用它。 至少以您现在的方式进行。 因为不需要等待主体加载就可以添加事件侦听器,并且有可能在主体准备就绪之前触发“ deviceready”事件。 所以你会错过这个事件。 我实际上不知道这是否可能在cordova应用程序中发生,但我不会冒险。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM