Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.05.2016, 17:38
Аспирант
Отправить личное сообщение для innowed Посмотреть профиль Найти все сообщения от innowed
 
Регистрация: 27.03.2015
Сообщений: 78

событие через атрибут в событие 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, 05.05.2016 в 17:46.
Ответить с цитированием
  #2 (permalink)  
Старый 05.05.2016, 18:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,303

Сообщение от innowed
если у нас много инпутов
id уникально!!!
Ответить с цитированием
  #3 (permalink)  
Старый 05.05.2016, 18:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,303

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>
Ответить с цитированием
  #4 (permalink)  
Старый 06.05.2016, 13:37
Аспирант
Отправить личное сообщение для innowed Посмотреть профиль Найти все сообщения от innowed
 
Регистрация: 27.03.2015
Сообщений: 78

Сообщение от рони Посмотреть сообщение
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>
а насколько хуже такой способ добавления на инпуты addEventListener?
for(var i=0; i<querySelectorAll('input').length;i++){
	querySelectorAll('input')[i].addEventListener('input',function(){this.value =''});
	}

Просто таких штук
Код:
[].forEach.call
я как-то пугаюсь

Последний раз редактировалось innowed, 06.05.2016 в 13:40.
Ответить с цитированием
  #5 (permalink)  
Старый 06.05.2016, 13:48
Аспирант
Отправить личное сообщение для Madzal Посмотреть профиль Найти все сообщения от Madzal
 
Регистрация: 18.02.2016
Сообщений: 62

[].forEach.call(document.querySelectorAll('.qwe'))

тоже самое что
for(var i=0;i<querySelectorAll('.qwe').length;i++)

Последний раз редактировалось Madzal, 06.05.2016 в 17:05.
Ответить с цитированием
  #6 (permalink)  
Старый 06.05.2016, 14:00
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 30,303

innowed,
forEach удобнее тем что короче и c сохранением значения i ненадо заморачиватся.
Ответить с цитированием
  #7 (permalink)  
Старый 06.05.2016, 21:20
Аспирант
Отправить личное сообщение для innowed Посмотреть профиль Найти все сообщения от innowed
 
Регистрация: 27.03.2015
Сообщений: 78

Спасибо за ответы!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие onload SP7 Общие вопросы Javascript 4 10.11.2013 21:50
Событие для тега <div> при обращении к нему через якорь dima_web Элементы интерфейса 1 11.01.2013 16:38
Не передается переменная через событие onclick в IE frost18 Элементы интерфейса 0 20.08.2011 23:15
запуск функции через событие radio DmitryT Элементы интерфейса 5 05.03.2011 09:26
Добавить событие через mootools true Библиотеки/Тулкиты/Фреймворки 6 18.07.2010 22:17