JQuery 'или' заявление? - PullRequest
       10

JQuery 'или' заявление?

0 голосов
/ 17 августа 2011

Я бы хотел, чтобы текстовое поле исчезло, если человек щелкнет мышью за его пределами (.focusout или .blur), но я также хочу иметь возможность выполнять ту же функцию, если нажата Esc (клавиша 27). Я не уверен, как заставить обоих быть распознанными, не разрушая весь мой сценарий.

Ответы [ 3 ]

2 голосов
/ 17 августа 2011

Вы можете привязать оба события к одной и той же функции с помощью

$(selector).bind("blur keyup",function(e){...})

И тогда это просто логика принятия решения, чтобы увидеть, была ли нажата клавиша или еще что-то.

1 голос
/ 17 августа 2011

Как насчет этого:

$('#selector').bind('blur keyup', function(e) {
    if(e.keyCode == 27 || e.keyCode == undefined)
        $(this).hide();
});
0 голосов
/ 17 августа 2011

Я бы создал пользовательское событие, привязанное к текстовому полю:

<script>
$(document).ready(function(){
   $("#id").bind("blur keyup myCustomEvent"),function(event){
    //whatever you need
    // you can trigger this logic again via .trigger("myCustomEvent");
    });

});
</script>
...