function Foo(elementId, buttonId) {
this.element = document.getElementById(elementId);
this.button = document.getElementById(buttonId);
this.bar = function() {dosomething};
this.button.addEventListener('click', function(e) {this.bar();}, false);
}
var myFoo = new Foo('someElement', 'someButton');
Me gustaría agregar detectores de eventos dentro de mi constructor, pero parece que no funciona. ¿Es esto posible con la sintaxis correcta? Siempre se colgó en la línea:Añadiendo Event Listeners en el constructor
this.button.addEventListener('click', function(e) {this.bar();}, false);
Es importante tener en cuenta que muchos navegadores aún de uso común (por ejemplo, IE 8, Safari <= 5.1, otros) no son compatibles con Function.prototype.bind: http://kangax.github.com/es5-compat-table/ – zachelrath
var self = esto; Eso lo hizo; Ni siquiera pensé que 'esto' podría estar haciendo referencia al elemento del botón. Gracias por su ayuda y la respuesta rápida. Yo hubiera votado si pudiera, pero todavía no tengo el representante :) –
@Llepwryd: Me alegro de poder ayudar. –