Проверка ввода клавиши ввода в текстовое поле

Я использую следующий код, чтобы проверить, был ли нажат ключ ввода в текстовом поле, но я получаю ошибку типа TypeError: e не определено

<title>demo</title>
 
 
 
  
 <div>
 <div>Keyword : </div> 
 
 
 </div>
4 ответа

Вам нужно передать объект event при вызове функции JavaScript, как показано ниже:

Это просто в jQuery и не нужно вызывать из ввода:

$('#usersearch').keydown(function(e){
 if(e.keyCode === 13){
 alert("Enter was pressed ");
 } 
});


При вызове функции необходимо передать объект event.

Попробуй это:

Код HTML

<div>
 <div>Keyword : </div> 
 
 
</div>

Рабочий скрипт

"TypeError: e undefined" - Объяснение:

Обратите внимание на html-код: onKeydown = "memSort (event); Здесь я передаю событие объекта event как параметр функции, но в вашем коде вы пропустили это. И когда вы не передаете параметр, он ссылается как undefined. (Если вы не прошло событие, тогда вы не сможете получить e.keyCode.) Итак, вы должны передать объект события.


попробуй это

function memSort(e){
 var key=e.keyCode || e.which;
 if (key==13){
 alert("Enter was pressed ");
 }
}


Я вижу, что вы используете jQuery в своем коде. Тогда почему бы не использовать то же самое для ненавязчивой обработки событий.

$("usersearch").on("keydown", function(e) {
 if(e.keyCode === 13){
 ...
 }
});

Или, просто используя Javascript, передайте параметр объекта события:

onkeypress="memSort(event);"

Но следует избегать встроенных обработчиков.

licensed under cc by-sa 3.0 with attribution.