Как сделать, чтобы по вводу в инпут одного символа (любого) функция отрабатывала один раз?
сейчас отрабатывает постоянно ( видно по консоли)
document.querySelector('input').addEventListener('keydown', function() {
console.log('test');
})
<input type="text">
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Предположу что нужен keyup
document.querySelector('input').addEventListener('keyup', function() {
console.log('test');
})
<input type="text">
Автор решения: UModeL
→ Ссылка
Однократное срабатывание функции достигается передачей в третьем аргументе обработчика объекта options с ключом once и значением true:
document.querySelector('input').addEventListener('keydown', function() {
console.log('test');
}, { once: true })
<input type="text">
Если же нужно, чтобы действие происходило однократно, но каждый раз при вводе первого символа, то необходимо добавить простейшее условие:
document.querySelector('input').addEventListener('keydown', function() {
if (this.value == '') console.log('test');
})
<input type="text">