Обнаружить клавишу Enter нажата с JQuery - PullRequest
58 голосов
/ 12 апреля 2011

У меня есть текстовое поле, в котором отображается значение. То, что я хочу, - когда пользователь записывает новое значение в это текстовое поле и нажимает клавишу ввода, запускается функция ajax для выполнения операции разбивки на страницы. У меня есть текстовое поле, как это:

<input type="text" id="page" name="page" value="<?php echo($this->pn);?> />

И когда пользователь пишет любое новое значение и нажимает Enter, я хочу, чтобы сработала следующая функция ajax:

update_ajax2({rpp:<?php echo($this->rpp);?>,pn:document.page.paged.value,filter:'<?php echo($this->filter);?>',orderby:'<?php echo($this->orderby);?>'});

Я пытался использовать событие нажатия клавиши для обнаружения if(e.which===13), но это не решает проблему. Кто-нибудь может направить меня?

Ответы [ 4 ]

136 голосов
/ 12 апреля 2011
<input type="text" id="txt"/>

$('#txt').keydown(function (e){
    if(e.keyCode == 13){
        alert('you pressed enter ^_^');
    }
})

Вкл. jsfiddle .

1 голос
/ 23 ноября 2015

Используйте это, у меня это работает:)

$("#search-txt" ).on( "keydown", function(event) {
    if(event.which == 13) 
        return false;//do something
});
1 голос
/ 12 апреля 2011

Проверьте этот плагин: https://github.com/jeresig/jquery.hotkeys

0 голосов
/ 12 апреля 2011

Событие при нажатии клавиши должно работать, попробуйте

function keyPressedTest(a)
{
    a=(a)?a:window.event;
    input=(a.target)?a.target:a.srcElement;
    if(a.keyCode==13)
    {
        your_function()
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...