вызов метода класса javascript с использованием этого ключевого слова в addeventlistener - PullRequest
0 голосов
/ 09 марта 2011

Я хочу вызвать функцию getItemList (), которая находится в классе 'Example' через addEventListener

var text_box = document.getElementById(this.text_box_id);
text_box.addEventListener('onchange', function(){this.getItemList('3', '10')}, false) 

1 Ответ

1 голос
/ 09 марта 2011

Должно быть change, а не onchange.Только в IE вы должны использовать on(EventName).

this, внутри обработчика будет ссылаться на text_box (элемент, на котором возникло событие).Вам нужно захватить ссылку на текущий this:

var that = this;
text_box.addEventListener('change', function(){    
    that.getItemList('3', '10')
}, false);

или в браузерах, поддерживающих bind (вы также можете предоставить собственную реализацию, как показано в этой документации):

text_box.addEventListener('change', function(){    
    this.getItemList('3', '10')
}.bind(this), false);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...