Я бы пошел дальше с примером Майкла и вызвал пользовательское событие JavaScript «PG_pageinit». Это сработает после того, как оба события ('pageinit', 'deviceready') были запущены. Таким образом, вам нужно всего лишь изменить имя зарегистрированного события в ваших (уже написанных) внешних файлах JavaScript.
Итак, используя код Майкла (с небольшим изменением события 'mobileinit' на 'pageinit'):
var jqmReady = $.Deferred(),
pgReady = $.Deferred();
// jqm page is ready
$(document).bind("pageinit", jqmReady.resolve);
// phonegap ready
document.addEventListener("deviceready", pgReady.resolve, false);
// all ready, throw a custom 'PG_pageinit' event
$.when(jqmReady, pgReady).then(function () {
$(document).trigger("PG_pageinit");
});
А в других ваших файлах JavaScript, когда вы хотите зарегистрировать это новое событие, используйте это:
$(document).bind("PG_pageinit", function(){
alert('PG_pageinit was just fired!');
// do your thing...
});
Проверено на Android 2.3, Cordova 1.9.0