Quiero crear una biblioteca de JavaScript, así que pensé que sería una buena acción hacerlo para garantizar la seguridad del alcance y todo.Función de autoejecución inmediata y "esto"
Pero ahora me encuentro con un problema al utilizar la palabra clave "this" que no entiendo del todo.
¿Cómo puedo hacer que un código como este funcione correctamente? Actualmente, me dice que "imagen" no está definida.
(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();
¿Cómo puedo acceder a la propiedad image
?
¿Ha intentado depurar en una herramienta como FireBug u Opera DragonFly? La mayoría de las veces puede ver cuál es el alcance actual y qué variables están definidas. – Marc