В качестве исходного документа возьмите голосовалку, созданную в задаче Создайте графический компонент: голосовалку.
Добавьте в неё на события. Пусть каждое изменение голоса сопровождается событием change:
var voter = new Voter('voter');
voter.on('change', function(value) { alert(value) });
Результат использования кода выше (планируемый):
.
Исходный документ: tutorial/oop/voter-event-src/index.html.
Решение
Решение
Все изменения будем проводить через метод setVote, который генерирует события.
function Voter(id) {
var self = this;
Eventer.extend(this);
...
function onDownClick() {
self.setVote(voteElem.innerHTML - 1);
}
function onUpClick() {
self.setVote(+voteElem.innerHTML + 1);
};
this.setVote = function(vote) {
voteElem.innerHTML = vote;
self.trigger('change', [vote]);
};
}
В качестве массива параметров обработчику передается обновленный голос vote.
Полный код: tutorial/oop/voter-event/index.html.
#417