Jquery mobile Phonegap Cordova不会启动JQM pageinit
我在这个问题上做了很多研究,但没有找到合适的答案。 我的问题是,当我将Cordova/Phonegap与JQM一起使用时,会触发Jquery mobile Phonegap Cordova不会启动JQM pageinit,jquery-mobile,cordova,page-init,Jquery Mobile,Cordova,Page Init,我在这个问题上做了很多研究,但没有找到合适的答案。 我的问题是,当我将Cordova/Phonegap与JQM一起使用时,会触发$(document).ready,但不会触发$(document).on('pageinit'),建议与JQM一起使用 var deviceradydeferred=$.Deferred(); var jqmReadyFerred=$.Deferred(); 文件。添加的监听器(“DeviceRady”,DeviceRady,false); 函数devicerady
$(document).ready
,但不会触发$(document).on('pageinit')
,建议与JQM一起使用
var deviceradydeferred=$.Deferred();
var jqmReadyFerred=$.Deferred();
文件。添加的监听器(“DeviceRady”,DeviceRady,false);
函数devicerady(){
DeviceReadyFerred.resolve();
}
$(文档).on(“mobileinit”,函数(){
JQMReadyFerred.resolve();
});
$.when(DeviceReadyFerred,JQMReadyFerred)。然后(doWhenBothFrameworksLoaded);
函数dowhenbothframewloaded(){
console.log(“设备就绪”);
$(document).on(“pageinit”,function(){
console.log(“文档pageinit被激发”);
}
}
此页面托管在远程服务器上。在这种情况下,控制台中会显示设备就绪,但不会触发文档pageinit。如果我替换$(文档)。在(“pageinit”,function(){
上显示$(文档)。就绪(function(){
),两个日志都会显示,但我不喜欢此解决方案
你能告诉我哪里出错了吗
事先谢谢。我忘了解释我使用了多页范例,这要归功于data role=page。然后,您的代码会直接显示所有页面。我在这个线程中发现,我可以将$(document).on('pageinit')放在后面。这实际上是可行的,但一些对多个页面通用的函数仍然没有定义(例如,使用turnPage和turnPageBack函数在页面之间滑动)。是否打算在deviceReady函数中删除DeviceReadedFerred.resolve();我还尝试使用.delegate方法而不是.on,但没有成功
try this sequence of code in script tag.
/* Initialization of PhoneGap and jQM */
var deviceReadyDeferred = $.Deferred();
var jqmReadyDeferred = $.Deferred();
//initialize PhoneGap
document.addEventListener("deviceReady", deviceReady, false);
function deviceReady() {
}
//initialize jQM
$(document).on("mobileinit", function () {
//hack to fix android page transition flicking issue
if (navigator.userAgent.indexOf("Android") != -1){
$.extend( $.mobile , {
defaultPageTransition: 'none'
});
}
setCustomThemeAndOptions();
jqmReadyDeferred.resolve();
});
//When both PhoneGap and jQM are ready, initialize language setting
$.when(deviceReadyDeferred, jqmReadyDeferred).then(function(){
deviceDeferred = true;
});