как запретить клик больше одного раза на каждый input
Есть 3 inputa. При нажатии на каждый должно отобразитьcя в консоль значение value. Но надо сделать чтобы сработало на каждом inpute только по одному разу.
<div id="task2">
<input type="text" value="text1111"> <br>
<input type="text" value="text2222"> <br>
<input type="text" value="text3333"></div>
let task2 = document.getElementById('task2')
task2.addEventListener('click', something);
function something(event) {
let target = event.target;
console.log(target.value);
}
Ответы (2 шт):
Автор решения: Igor
→ Ссылка
document.querySelectorAll('#task2 input').forEach(
i => i.addEventListener('click', something, {once: true})
);
Автор решения: twerk kid
→ Ссылка
При нажатии на инпут удаляем обработчик для этого инпута:
<div id="task2">
<input type="text" value="text1111"> <br>
<input type="text" value="text2222"> <br>
<input type="text" value="text3333">
</div>
let task2 = document.querySelectorAll('#task2 input');
task2.forEach(el => el.addEventListener('click', something));
function something(event) {
let target = event.target;
console.log(target.value);
this.removeEventListener('click', something);
}
EDIT
Вариант от Igor более предпочтителен в использовании, т.к. структура кода проще и не нуждается в пояснении