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');
Chciałbym dodać detektory zdarzeń wewnątrz mojego konstruktora, ale to nie działa. Czy jest to możliwe dzięki poprawnej składni? Zawsze się powiesił na linii:Dodawanie odbiorców zdarzeń w konstruktorze
this.button.addEventListener('click', function(e) {this.bar();}, false);
Ważne, aby pamiętać, że wiele często używanych przeglądarek (np. IE 8, Safari <= 5.1, inne) nie obsługuje Function.prototype.bind: http://kangax.github.com/es5-compat-table/ – zachelrath
var self = this; To się udało; Nie sądziłem nawet, że "to" może odwoływać się do elementu przycisku. Dziękuję za pomoc i szybką odpowiedź. Brałabym udział, gdybym mógł, ale nie mam jeszcze przedstawiciela :) –
@Llepwryd: Cieszę się, że mogłem pomóc. –