событие через атрибут в событие addEventListener
https://learn.javascript.ru/keyboard...о-ввода
Вот мы имеем такое поле <input onkeypress="return false" type="text" id="qwe"> И по каким-то причинам хотим контролировать событие onkeypress через addEventListener qwe.addEventListener("keypress", function (){return false;}); Так не получилось, но стоит отметить, что alert отрабатывает нормально. qwe.addEventListener("keypress", function (){alert('ololo')}); В чём здесь проблема? Я вот подумал, что если у нас много инпутов, то прописывать каждому в атрибутах события не очень удобно, а при использовании addEventListener у меня получается только стирать значение после второго нажатия клавиши (при этом в инпут встаёт значение с этой клавиши) qwe.addEventListener("keypress", function(){this.value=null;}); |
Цитата:
|
innowed, может атрибут disabled? или так
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script> window.addEventListener('DOMContentLoaded', function() { [].forEach.call(document.querySelectorAll('.qwe'), function(item) { item.addEventListener('input', function() { item.value='' }); }); }); </script> </head> <body> <input type="text" class="qwe"> <input type="text" class="qwe"> <input type="text" class="qwe"> </body> </html> |
Цитата:
for(var i=0; i<querySelectorAll('input').length;i++){ querySelectorAll('input')[i].addEventListener('input',function(){this.value =''}); } Просто таких штук Код:
[].forEach.call |
[].forEach.call(document.querySelectorAll('.qwe')) тоже самое что for(var i=0;i<querySelectorAll('.qwe').length;i++) |
innowed,
forEach удобнее тем что короче и c сохранением значения i ненадо заморачиватся. |
Спасибо за ответы!
|
Часовой пояс GMT +3, время: 03:58. |