你好我有这段代码可以正常工作
var app = {
callback: null,
jqmReady: null,
pgReady: null,
// Application Constructor
initialize: function(callback) {
this.callback = callback;
this.jqmReady = $.Deferred();
this.pgReady = $.Deferred();
this.bindEvents();
},
bindEvents: function() {
document.addEventListener('deviceready', app.pgReady.resolve, false);
$(document).on("pageinit", app.jqmReady.resolve);
$.when(app.jqmReady, app.pgReady).then(app.isReady);
},
isReady: function() {
app.callback();
}
};
代码被初始化是这样的:
app.initialize(function(){
navigator.notification.alert('Hello there!', function(){}, 'Notify', 'Ok');
});
但是我的 isReady 函数一开始是这样的,并且没有调用回调:
isReady: function() {
this.callback();
}
为什么会这样?this = app
内部isReady()
的范围不是initialize()
函数中的吗?有人可以向我解释为什么它不起作用this.callback()
吗?