17.08.2017, 07:12
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Роман Андреевич
|
laimas, покажите как это сделать....
|
Много разговоров по данному вопросу потому, что вы вопрос "размазали". Хоть 100 полей ввода, это еще не означает, что требуется делегирование. Делегируют тогда, когда, например, поля добавляются в документ динамически, в этом случае обработку делегируют их ближайшему общему родителю.
Если ваши поля присутствуют на странице, то установите обработчики прямо на них, и вам поможет onblur, который не всплывает, а поэтому не подходит под делегирование.
|
|
17.08.2017, 07:23
|
Профессор
|
|
Регистрация: 12.08.2016
Сообщений: 299
|
|
laimas, blur срабатывает только при потере фокуса, а нужно что бы автоматом выводились символы в консоль, без дополнительных действий
|
|
17.08.2017, 07:25
|
Профессор
|
|
Регистрация: 12.08.2016
Сообщений: 299
|
|
Ладно, все равно спасибо, разберусь
|
|
17.08.2017, 07:28
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Роман Андреевич
|
blur срабатывает только при потере фокуса, а нужно что бы автоматом выводились символы в консоль
|
А что в случае если blur, то в консоли их китайцы прописывать будут?
Можно и таймер, но при фокусе если таймер запущен уже (другим полем), то очищать его, а по отпусканию кнопки запускать новый.
|
|
17.08.2017, 07:32
|
Профессор
|
|
Регистрация: 12.08.2016
Сообщений: 299
|
|
laimas, в том и дело, что нет кнопки, с кнопкой то все просто, тык и работает, это сделано. Нужно не фокус искать, а отслеживать изменение input'а
|
|
17.08.2017, 07:36
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,662
|
|
Роман Андреевич,
document.addEventListener('input', function (e) {
var target = e.target;
clearTimeout(target.timeoutId);
if (target.tagName == 'INPUT') {
if (target.hasAttribute('data-action') {
if (target.getAttribute('data-action') == 'refresh') {
target.timeoutId = setTimeout(function () {
console.log(target.value);
}, 2000);
}
}
}
};
Последний раз редактировалось Rise, 17.08.2017 в 07:38.
|
|
17.08.2017, 07:39
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,990
|
|
Сообщение от Роман Андреевич
|
Нужно не фокус искать, а отслеживать изменение input'а
|
Даже так? А что есть "изменение поля ввода"? Пожалуйста - обрабатывайте событие onchange поля ввода. Но, это событие сработает только тогда, когда поле потеряет фокус.
Что же нужно обрабатывать, что знать, что значение поля изменилось?
|
|
17.08.2017, 07:45
|
Профессор
|
|
Регистрация: 12.08.2016
Сообщений: 299
|
|
Rise, спасибо, )))))))))) пока баталии развивались, я то же самое сделал. Проблема оказалась в очистке таймера.
|
|
17.08.2017, 07:54
|
Профессор
|
|
Регистрация: 07.11.2013
Сообщений: 4,662
|
|
Сообщение от Роман Андреевич
|
я то же самое сделал
|
в первом посте все твои поделки
|
|
|
|