Изучаю сайт Читай-город. Файл окна входа\регистрации имеет имя Читай-город - интернет-магазин книг_files\auth.js(1).Без названия и следующее содержание (отрывок со 160-й по 218-ю строчку)
//подпишемся на событие при успешно отвалидированном инпуте
eventEmitter.subscribe(gValidator.events.input.valid, function (payload){
if(payload.input){
payload.input.parentElement.classList.remove('error');
}
var formData = authFormsData[payload.form.id];
if(formData){
gValidator.validate(formData);
}
});
//подпишемся на событие при не прошедшем валидацию инпуте
eventEmitter.subscribe(gValidator.events.input.fail, function (payload){
if(payload.input){
payload.input.parentElement.classList.add('error');
}
var formData = authFormsData[payload.form.id];
if(formData){
gValidator.validate(formData);
}
});
//подпишемся на событие при успешно отвалидированной формы
eventEmitter.subscribe(gValidator.events.form.valid, function (payload){
if(payload.submitBtn){
payload.submitBtn.classList.remove('disabled');
}
});
//подпишемся на событие при не прошедшей валидацию формы
eventEmitter.subscribe(gValidator.events.form.fail, function (payload){
if(payload.submitBtn){
payload.submitBtn.classList.add('disabled');
}
});
//подпишемся на событие успешного сброса пароля
eventEmitter.subscribe(auth.events.resetPassSuccess, function (){
//Popup.hideAll();
var resetPassMessage = Popup.getInstance('resetPassMessage', '.js__popup_reset_pass_message', getResetPassMessage());
resetPassMessage.show();
});
eventEmitter.subscribe(auth.events.registrationSuccess, function (){
if(window.version === 'd'){
window.location.reload();
} else if (window.version === 'm') {
//Popup.hideAll();
var popupGreeting = Popup.getInstance('greeting', '.js__popup_greeting');
//покажем попап приветствия
popupGreeting.show();
eventEmitter.subscribe(popupGreeting.events.closePopup, function () {
window.location.reload();
});
}
});</code></pre>
Из Подписка на событие следует, что eventEmitter.subscribe производит отписку обработчика от события, но такое ощущение, что наоборот - производится подписка. Проясните каким образом происходит работа оператора eventEmmitter.subscribe в приведенном файле и для чего нужна отписка, если такая производится.