2015-10-14 3 views
-2

Я пытаюсь получить его так, что когда я нажимаю кнопку ввода, когда сфокусирован на входе, он что-то предупреждает.
У меня есть входной тег,Нет предупреждения при вводе ввода

<input></input> 

Тогда я JavaScript,

document.getElementsByTagName("input").keyup = function(e) { 
    if (e.keyCode == 13) { 
    alert("1111"); 
    } 
}; 

Почему это не работает? Вот мой код: http://codepen.io/darkfyi/pen/meBdzZ.

+1

Попробуйте 'document.getElementsByTagName (« input ») [0] .keyup', Обратите внимание на ** [0] ** – Tushar

+1

' document.getElementsByTagName («input») 'возвращает коллекцию html ... вам нужно зарегистрировать обработчик для каждого элемента в этой коллекции –

ответ

1

Есть две проблемы с вашим кодом:

  • Метод document.getElementsByTagName возвращает HTMLCollection, так что вы должны перебирать эту коллекцию, или использовать первый элемент с помощью [0].
  • Если вы хотите делегировать мероприятие keyup своей собственностью, вы должны использовать .onkeyup = function() {, так как нет метода HTMLInputElement.keyup. Например, вы должны использовать keyup в методе addEventListener.

Таким образом, ваш код должен быть что-то вроде:

document.getElementsByTagName("input")[0].onkeyup = function(e) { 
    if (e.keyCode == 13) { 
    alert("1111"); 
    } 
}; 

Updated codepen.

Смежные вопросы