标题给出了我使用以下内容时出现的错误:
var test = {
elem : undefined,
init : function() { console.log("test.init() fired");
elem = $("#id");
console.log("elem assigned to jQuery object");
elem.click(function() { console.log("elem clicked"); });
console.log("elem click handler created");
}
};
test.init();
test.elem.click();
我不明白。如果我在test.init()
分配test.elem
的值时运行{{1}},为什么以后尝试访问它时会不确定?
答案 0 :(得分:3)
您正在init函数中创建一个名为'elem'的新引用,而不是引用test.elem。
在init内部,您需要将元素分配给'this.elem',因此它将显示为:
init : function() {
console.log("test.init() fired");
this.elem = $("#id");
console.log("elem assigned to jQuery object");
this.elem.click(function() {
console.log("elem clicked");
});
console.log("elem click handler created");
}