@Rufix

В чем разница двух кодов js?

var elem = document.getElementById('num');
elem.addEventListener('blur', func);

function func() {
	var sum = 0;
	var str = elem.value;
	var arr = str.split('');
  	for (var i = 0; i < arr.length; i++) {
		sum += +arr[i];
	}
	var newElem = document.getElementById('result');
	newElem.innerHTML = sum;
}


var elem = document.getElementById('num');
elem.blur = function(){
	var sum = 0;
	var str = elem.value;
	var arr = str.split('');
  	for (var i = 0; i < arr.length; i++) {
		sum += +arr[i];
	}
	var newElem = document.getElementById('result');
	newElem.innerHTML = sum;
}


Почему один код рабочий, другой нет?
  • Вопрос задан
  • 128 просмотров
Решения вопроса 1
sfi0zy
@sfi0zy Куратор тега JavaScript
Creative frontend developer
Почему один код рабочий, другой нет?

Потому, что не blur, а onblur.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
xakplant
@xakplant
Автор сайта xakplant.ru
Потому, что во втором случае вы устанавливаете свойство объекта (elem.blur) и свойство равно функции.
Событие не срабатывает. Если например сделать
elem.blur = function(){
    console.log('--');
}
elem.blur(); // выведет '--'


Короче это не событие. Это вам не Window)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы