событие через атрибут в событие 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, время: 21:02. |