Javascript成员变量未定义
只要我在#搜索输入中键入一些内容,控制台上的输出如下所示:Javascript成员变量未定义,javascript,jquery,variables,Javascript,Jquery,Variables,只要我在#搜索输入中键入一些内容,控制台上的输出如下所示: function Class() { var self=this; self.searchfield=$('#search'); self.resultbox=$('#searchresults'); self.onSearchFieldChanged=function() { console.log("F: "+self.searchfield); console.lo
function Class() {
var self=this;
self.searchfield=$('#search');
self.resultbox=$('#searchresults');
self.onSearchFieldChanged=function() {
console.log("F: "+self.searchfield);
console.log("R: "+self.resultbox);
}
self.searchfield.live("keyup",self.onSearchFieldChanged);
}
var INSTANCE=null;
Class.init=function() {
INSTANCE=new Class();
}
$(document).bind("globalsloaded", Class.init);
那么为什么这两个变量没有定义呢?它们在范围内,应该包含相应的jQuery对象。经过5天的工作,我发现了问题:JQueryMobile 发生的情况是:
devicerady
phonegap事件domready
事件input#search
元素以再次插入它,该元素被一些样式div包围现在,我正在JQM的
pageinit
事件中进行初始化。没有问题了。有效:。它确实有效,您确定要在相关dom元素准备就绪时调用代码段吗?您是否忘记了$(document).ready()
?编辑文章以显示初始化的实际完成方式GlobalLoaded
是一个自定义事件,一旦触发device ready
就会触发该事件(这是一个phonegap应用程序)。因此,如果设备是,dom应该准备好了。听起来你的罪魁祸首是self.searchfield=$(“#search”);self.resultbox=$(“#搜索结果”)代码>所以请仔细检查您的id
F: undefined
R: undefined