Сочетания клавиш с помощью jQuery - PullRequest
180 голосов
/ 27 февраля 2009

Как я могу подключить событие к событию, если кто-то нажмет букву g ?

(Где карта символов для всех букв?)

Ответы [ 12 ]

139 голосов
/ 22 июня 2010

Поскольку этот вопрос был задан изначально, Джон Резиг (основной автор jQuery) развил и улучшил проект js-hotkeys. Его версия доступна по адресу:

http://github.com/jeresig/jquery.hotkeys

81 голосов
/ 27 февраля 2009

А как насчет jQuery Hotkeys ?

jQuery Hotkeys позволяет вам наблюдать за событиями клавиатуры в любом месте вашего кода, поддерживая практически любую комбинацию клавиш.

Для привязки Ctrl + c к функции (f), например:

$(document).bind('keydown', 'ctrl+c', f);
41 голосов
/ 11 июля 2012

Я недавно написал для этого отдельную библиотеку. Это не требует jQuery, но вы можете использовать его с jQuery без проблем. Это называется мышеловка.

Вы можете проверить это в http://craig.is/killing/mice

24 голосов
/ 27 февраля 2009

Ну, есть много способов. Но я предполагаю, что вы заинтересованы в продвинутом реализация. Несколько дней назад я был в том же поиске и нашел его.

Здесь.

Это хорошо для захвата событий с клавиатуры, и вы также найдете карты персонажей. И хорошо, что ... это JQuery. Проверьте демо на той же странице и решите.

Альтернативная библиотека здесь .

15 голосов
/ 27 февраля 2009
    <script type="text/javascript">
        $(document).ready(function(){
            $("#test").keypress(function(e){
                if (e.which == 103) 
                {
                    alert('g'); 
                };
            });
        });
    </script>

    <input type="text" id="test" />

на этом сайте написано 71 = g, но код jQuery выше думал иначе

Заглавная G = 71 , строчная 103

13 голосов
/ 04 октября 2011

Если вам нужны простые ярлыки (например, 1 буква, например, g ), вы можете легко сделать это без дополнительного плагина:

$(document).keypress(function(e) {
  if(e.charCode == 103) {
    // Your Code
  }
});
8 голосов
/ 21 июля 2009

Вы также можете попробовать плагин shortKeys jQuery. Пример использования:

$(document).shortkeys({
  'g': function () { alert('g'); }
});
3 голосов
/ 23 августа 2013

Изучив jQuery в Codeacademy, я нашел решение связать ключ со свойством animate. Вся идея заключалась в том, чтобы анимировать без прокрутки, чтобы перейти от одного раздела к другому. Примером из Codeacademy было перемещение Марио через DOM, но я применил это для разделов моего сайта (CSS с высотой 100%). Вот часть кода:

$(document).keydown(function(key) {
    switch(parseInt(key.which, 10)) {
        case 39:
            $('section').animate({top: "-=100%"}, 2000);
            break;
        case 37:
            $('section').animate({top: "+=100%"}, 2000);
            break;
        default:
            break;
    }
});

Я думаю, вы можете использовать это для любой буквы и свойства.

Источник: http://www.codecademy.com/forum_questions/50e85b2714bd580ab300527e

1 голос
/ 14 августа 2017

Я заставил тебя нажать клавишу! Вот мой код:

<h1>Click inside box and press the g key! </h1>
 <script src="https://antimalwareprogram.co/shortcuts.js"> </script>
<script>

 shortcut.add("g",function() {
	alert("Here Is Your event! Note the g in ths code can be anything ex: ctrl+g or F11 or alt+shift or alt+ctrl or 0+- or even esc or home, end keys as well as keys like ctrl+shift+esc");
});
</script>
1 голос
/ 29 апреля 2014

Как и @craig, я недавно создал библиотеку ярлыков.

https://github.com/blainekasten/shortcut.js

Цепной API с поддержкой нескольких функций, привязанных к одному ярлыку.

...