jquery.hotkeys.js заменяет поле ввода на .bind - PullRequest
0 голосов
/ 23 июля 2011

Я использую jquery.hotkeys.js и сопоставляю привязку клавиш следующим образом:

$(document).bind('keydown', 'i', function() {
      $("input#foo").focus()
});

Все же, после вызова фокуса (в попытках попытаться переместить курсор)до конца поля ввода при нажатии клавиши i, фокусирующейся на документе), оно просто заменяет содержимое поля ввода на i.Можно предотвратить полную замену, однако i по-прежнему добавляется даже после этого.Пример:

$(document).bind('keydown', 'i', function() {
      var val = $("input#foo").val()
      $("input#foo").focus()
      $("input#foo").val(val.substring(0,val.length-1)
});

В этом случае вход television превратится в televisioi.Кто-нибудь знает какие-либо возможные обходные пути?Спасибо !!

1 Ответ

2 голосов
/ 23 июля 2011

Функцию по умолчанию можно отключить, передав событие:

$(document).bind('keydown', 'i', function(event) {
    event.preventDefault();
    $("input#foo").focus();
});

Полагаю, вы захотите отключить функциональность keyup:

$(document).bind('keyup', 'i', function(event) {
    event.preventDefault();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...