【发布时间】:2011-05-26 13:03:51
【问题描述】:
我想创建一个 javascript 库,所以我认为让它成为一个立即自我执行的函数将是一件好事,以确保范围安全和一切。
但是现在我在使用“this”关键字时遇到了一个问题,我不太明白。
我怎样才能使这样的代码正常工作?目前,它告诉我“图像”未定义。
(function() {
function lib() {
this.image = document.getElementById("image");
this.parts = [
{name: "part1", num: "1"}
];
this.init = function() {
$(parts).each(function() {
var partNum = this.num;
image.getElementById(partNum).addEventListener("click", function() {
toggleHighlight(partNum);
}, true);
});
};
}
window.lib = new lib();
})();
window.lib.init();
如何访问image 属性?
【问题讨论】:
-
您是否尝试过在 FireBug 或 Opera DragonFly 等工具中进行调试?大多数情况下,您可以看到当前范围是什么以及定义了哪些变量。
标签: javascript scope execute-immediate