2013-12-04 5 views
1

Мне нужна функция вызова, когда пользователь нажимает кнопку ввода на входе.как мне вызвать функцию, когда пользователь нажимает ввод на входе

<input type='text' id='name'></input> 

Этот код был обнаружен, но он не работает.

$("#name").bind('keypress', function(e) { 
if(e.which == 13) { 
    alert('You pressed enter!'); 
} 
}); 
+0

Если вход в форму убедитесь, что для предотвращения по умолчанию представить событие, которое может быть проблемой. – elclanrs

+3

Он действительно работает: http://jsfiddle.net/6CLw3/ – Joren

+0

попробуйте 'e.keyCode == 13' вместо этого. Я не считаю, что 'which' поддерживается кросс-браузер. – broofa

ответ

3

Включены ли вы в библиотеку JQuery? Ваш код, похоже, отлично работает в Chrome.

Вы также можете сделать:

$("#name").keypress(function(e) { 
    if(e.keyCode == 13) { 
     alert('You pressed enter!'); 
    } 
}); 

JSFiddle: http://jsfiddle.net/dMt55/

Non Jquery версия:

document.getElementById('name').onkeypress = function(e) { 
    if(e.keyCode == 13) { 
     alert('You pressed enter!'); 
    } 
} 
+0

Есть ли способ иметь один и тот же код без JQuery? Просто чистый Js. – user3063766

+0

Отредактировано для добавления версии без jquery. – spacemunkee

+0

Как я могу сделать эту версию NonJquery, чтобы она была нажата клавишами со стрелками и document.body? – user3063766

2

Попробуйте это;

<input type='text' id='name' /> 

$("#name").bind('keypress', function(event) { 
       if (event.keyCode== 13) { //Enter 
        // your code 
       } 
}); 
+1

просто используйте 'var code = event.keyCode'. Нет необходимости проверять, определено ли это или нет. (Свойство 'which' устарело. См. Https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent) – broofa

0

Вы можете подключить свое собственное событие .Try это

HTML

<input type='text' id='name'></input> 

Jquery

$('#name').bind("enterKey",function(e){ 
    //do stuff here 
}); 
$('#name').keyup(function(e){ 
    if(e.keyCode == 13) 
    { 
     $(this).trigger("enterKey"); 
    } 
}); 

http://jsfiddle.net/x7HVQ/

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