Роман Андреевич,
вот спасибо. Это вам нужно почитать. Кстати ваш код с ошибками. С атрибутами сами разбирайтесь, откуда они появляются, а делегирования не требуется.
[].forEach.call(document.querySelectorAll('input'), function() {
this.addEventListener('input', function (e) {
e = e.target;
clearTimeout(e.timeoutId);
e.timeoutId = setTimeout(function () {
console.log(e.value);
}, 2000);
})
})
Только я имел ввиду один таймер для всех. Но чего вы там делаете, бог его знает.