Применение onblur к нескольким input

224
23 августа 2017, 19:55

Достаточно глупый вопрос. Есть форма обратной связи, в форме есть несколько инпутов. К каждому инпуту нужно применить функцию на onblur, для того, чтобы выловить вводимые пользователем значения. Подскажите, как это сделать, не обращаясь к каждому инпуту по id? Такой код обращается только к первому инпуту.

document.getElementsByTagName('input')[0].onblur =  function() { 
    console.log(this);
}
Answer 1
var arr = document.querySelectorAll('input');
for (var i = 0; i < arr.length; i++) {
    arr[i].onblur = function() {
        console.log(this);
    };
}
Answer 2
var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; i++) {
  inputs[i].addEventListener('blur', function() {
    console.log(this);
  }, true);
}
Answer 3

На jQuery

$('input').blur(function(){
    console.log(this);
});
READ ALSO
Передача контекста в метода класса

Передача контекста в метода класса

Существует реакт-компонент и класс с обработчиками этого компонента, который строится на специальном абстрактном классеВыглядит это так:

243
Как в jsfiddle писать на ES6 из под IE?

Как в jsfiddle писать на ES6 из под IE?

писал пример на Babel + JSX, при проверке в IE11 получил ошибку на array function (в IE11 её поддержки нет)

420