jQuery KeyUp и нажмите - PullRequest
       11

jQuery KeyUp и нажмите

11 голосов
/ 03 мая 2011

Мне было интересно, как можно сделать .keyup() и .click() для одного и того же #id?

т.е. я хочу проверить #id, когда пользователь пытается нажать , ввести или нажать кнопку #search

Большое спасибо

Ответы [ 5 ]

22 голосов
/ 03 мая 2011
$('#foo').bind('click keyup', function(event) {
  ...

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

3 голосов
/ 03 мая 2011

Ну, вы можете сделать:

        $(document).keydown(function(objEvent) {
            if (objEvent.keyCode == 13) {  //clicked enter
                 $('#search').click(); //do click
            }
        })

        $("#search").click(function(e){/*click fn*/})

Запустит клик по вводу нажмите

2 голосов
/ 03 мая 2011

Я бы пошел на что-то вроде этого:

function validate(element) {
     // your validation stuff goes here
}

$('#id').keyup(function(event) {
    if (event.keyCode == 13) {  
        validate(this);
    }
}).click(function() {
    validate(this);
});
2 голосов
/ 03 мая 2011
$("#id").click(validate).keyup(function(event)
{
    if (event.keyCode == '13') validate();
});
function validate() { ... validate $(this).val(); ... }
1 голос
/ 19 апреля 2013

Новый jQuery предлагает свойство what для события, чтобы проверить, какая клавиша была нажата, чтобы вы могли сделать что-то вроде этого:

$(#id").on('keyup',function(e){
    if (e.which==13 || e.which==9) doSomething(this); //Enter or Tab key
});
...