Почему горячие клавиши JQuery запускаются более одного раза для ярлыка

У меня есть следующий код:

каждый ярлык предназначен для разных функций, но когда я использую ctrl + r, он отображает предупреждение 4 раза. Я делаю что-то не так? приведенный ниже код выглядит нормально для меня...

Я использую хром, но я не думаю, что это имеет значение

$(document).bind('keydown', 'ctrl+r', function (event) {
    alert("should be only once");
    event.preventDefault();
    return false;
});

$(document).bind('keydown', 'ctrl+1', function () {
    //other code
    return false;
});

$(document).bind('keydown', 'ctrl+2', function () {
    //other code
    return false;
});

$(document).bind('keydown', 'ctrl+3', function () {
    //other code
    return false;
});

Изменить: я использую плагин Hotkeys JQuery.


person RollRoll    schedule 27.01.2013    source источник
comment
Что произойдет, если вы используете keyup?   -  person ffffff01    schedule 28.01.2013
comment
не могли бы вы предоставить мне ссылку на документацию, где $(document).bind('keydown', 'ctrl+3' является правильным синтаксисом?   -  person Peter    schedule 28.01.2013
comment
@ f01 это не отменяет обычные функции браузера для Ctrl + *   -  person RollRoll    schedule 28.01.2013
comment
@Peter, я нашел это в SOF для привязки с помощью ctrl   -  person RollRoll    schedule 28.01.2013
comment
Итак, я полагаю, что вы используете плагин jquery.hotkeys.js, верно?   -  person Peter    schedule 28.01.2013
comment
Не могу найти, ищу тебя. Да, я использую плагин jquery для горячих клавиш.   -  person RollRoll    schedule 28.01.2013


Ответы (1)


Убедитесь, что JS не вызывается несколько раз. Вы можете развязать(...) его внутри функции обратного вызова, чтобы увидеть, происходит ли это.

person Glyph    schedule 27.01.2013