我目前正在开发一个应用程序主要用于自我教育的目的,因为我还没有完全地使用js的我可以利用一些帮助我的问题:等待多个活动
在我的应用我使用一个用于DOM操作,页面转换,ajax调用等的JavaScript库(jqMobi),我还使用phonegap访问设备功能,如地理定位。
当我开始了我的程序,我想获得设备的地理位置,发送AJAX(JSONP)要求到我的服务器(包括设备的地理位置),它返回我将使用JSON对象的数组建立一个清单。
在我可以得到地理位置之前,我需要等待phonegap加载。在使用jqMobi进行ajax调用并处理响应之前,我需要等待它加载。
所以我基本都对事件即时通讯听
document.addEventListener("DOMContentLoaded",execute_this,false); //jqMobi is now ready
document.addEventListener("deviceready", execure_sth, false); //Phonegap is now ready
如何尽快执行功能这两个事件都烧不前?
如果我使用jQuery,我会利用它的$ .Deferred对象和它的When ... Then Function,但因为我没有访问这些我正在寻找替代品。
在此先感谢您的帮助!
感谢您的帮助。但有一个问题:如果在DOMContentLoaded之前发生deviceready事件,会发生什么?它仍然会调用execute_sth吗? – marius2k12
请参阅根据phonegap站点http://docs.phonegap.com/en/1.0.0/phonegap_events_events.md.html “通常情况下,一旦HTML文档的DOM具有一个附加事件侦听器和document.addEventListener装“。 – ppsreejith