Есть ли быстрый способ присоединить обработчик событий к клавише Enter или к нажатой клавише ESC с помощью jQuery? - PullRequest
0 голосов
/ 21 марта 2011

Я хочу добавить обработчики событий в мой элемент ввода текстового поля для нажатия клавиш Enter и Escape.

Есть ли быстрый способ присоединить обработчик событий к нажатию клавиши Enter или ESC с помощью jQuery?

Ответы [ 2 ]

4 голосов
/ 21 марта 2011

Следующее должно делать то, что вам нужно:

        $("$#textboxName").keyup(function(event)
        {
            if(event.keyCode == 13) 
            {
                //Enter keypress event.
            }
            if(event.keyCode == 27)
            {
                //Escape keypress event.
            }
        });

или, если вы хотите выполнить какое-либо событие, вам просто понадобится или:

       $("$#textboxName").keyup(function(event)
            {
                if(event.keyCode == 13 || event.keyCode == 27) 
                {
                    //Enter or Escape keypress event.
                }
        });
0 голосов
/ 21 марта 2011

Пошаговое многократное использование с плагином jQuery

Чтобы сделать вещи более общими и многократно используемыми на страницах, вы можете написать плагин jQuery под названием handleKey (код не окончательный и может содержатьошибки):

(function($){
    $.fn.extend({
        handleKey: function(keyCode, handler) {
            if ($.isFunction(handler))
            {
                this.keyup((function(k, h){
                    return function(evt){
                        if (evt.keyCode == k)
                        {
                            h(evt);
                        }
                    };
                }
                })(keyCode, handler));
            }
        }
    });
})(jQuery);

Это может быть дополнительно настроено для принятия строки для keyCode, которая будет разделенной запятыми строкой для обработки нескольких ключей одним и тем же обработчиком.

Использование будетbe:

$("input#Username").handleKey(13, function(evt){
    // your functionality
});

Я бы поместил плагин в свой файл JavaScript пользовательских плагинов и добавил ссылку на те страницы, которые в нем нуждаются.Вуаля.

...