JS-горячие клавиши - как привязать к?вопросительный знак - PullRequest
6 голосов
/ 07 января 2011

Я уже некоторое время пользуюсь js-hotkeys , обожаю.

Теперь я хотел бы привязаться к клавише ? , но этоне поддерживается.Кто-нибудь знает, почему и как привязать знак вопроса ? ?

$(document).bind('keydown', '?',function (evt) {
    alert('go');
});

Приведенный выше код не работает.

Ответы [ 4 ]

5 голосов
/ 07 января 2011

А как же

$(document).bind('keyup', function (evt) {
    if (evt.keyCode == 191)
       alert("go");
});
3 голосов
/ 07 января 2011

Я полагаю, что у события есть флаг для того, была ли нажата клавиша Shift, поэтому вы, вероятно, хотите сделать что-то подобное (я никогда не использовал js-горячие клавиши, поэтому я могу быть совершенно неправ):

$(document).bind('keydown', '/', function (evt)
{
  if (evt.shiftKey) //or whatever the flag for the shift key may be
  {
    alert('go');
  }
});
2 голосов
/ 25 марта 2011

Помните, что даже внутри поля ввода будет срабатывать следующее:

$(document).bind('keyup', function (evt) {
    if (evt.keyCode == 191)
       alert("go");
});

Решение:

$(document).bind('keyup', function(e) {
    if(e.keyCode === 191 && !$(e.target).is("input")) 
        alert("go");
});

Имейте в виду, что то же самое произойдет и для texarea.

0 голосов
/ 30 июня 2015

Используя js-hotkeys, вы бы привязали знак вопроса, используя строку:

shift+/
...