¡que tal va el asunto, cronos!
el problema esta en la linea marcada en negrita.
Código:
// de la variable privado ;
enlazar: function (tipo, toDo, capture) { // jQuery -> bind
console.log('this', this);
this.eventos[tipo] = this.eventos[tipo] || []; // Si no existe usamos un array vacío
var lisnrs = this.eventos[tipo]; // lisnrs -> la lista de eventos [JSPlus]
...
},
recuerda que los objetos se pasan por referencia. cuando tu aplicas
extender a un elemento, le estas asignando una referencia de la propiedad
eventos en
privado al elemento. de modo que
elemento.eventos es el mismo objeto que
privado.eventos. por tanto, cualquier cambio que tu le hagas, se va ver reflejado en todos los elementos extendidos. la solución debería ser crear un objeto
eventos único al extender elementos.
offtopic: si bien recuerdo, hace como un mes alguien tuvo un problema parecido. no recuerdo el tema, pero creo que participaron panino5001 y aijona.