Какова теория jQuery нажатий клавиш, keydown, keyup black magic (на Mac)? [закрыто]

Я смущен по поводу различного поведенияkeypress, keydown, а такжеkeyup, Кажется, я пропустил важный документ, который объясняет тонкости и нюансы этого трио. Может ли кто-нибудь помочь мне выяснить, какой документ мне нужно прочитать, чтобы более эффективно использовать эти события? Если вам нужны подробности, см. Ниже.

@ o.v .: Вы попросили меня показать некоторый код, но на самом деле это не конкретная проблема в коде, который я пытаюсь решить. Я пытаюсь разобраться в поведении этих обработчиков событий и прошу кого-то, кто их понимает, указать мне на хороший документ.

Я использую jQuery для создания формы ввода и вставки ее в мой документ. Работает просто отлично, в основном. Я хочу, чтобы форма реагировала на клавиатуру, как и большинство других форм ввода, которые я вижу там:esc ключ должен отклонить форму так же, как нажатие кнопки отмены, и потому что форма имеет<textarea> в теме,cmd + enter должно быть таким же, как нажатиеOK кнопка. Кажется, достаточно просто использоватьkeypress событие. Проблема в том, что Chrome не называет мойkeypress обработчик дляesc ключ илиcmd + enter, Это стреляет дляctrl + enter а такжеoption + enter и для буквенно-цифровых символов, но неcmd + enter.

Поэтому я буду использоватьkeyup вместо. я получилkeyup заesc, а такжеkeyup заcmd, а такжеkeyup заenter, Отлично. Но я не понимаюkeyup дляenter ключ, пока я удерживаюcmd.

Вы можете подумать, что в третий разkeydown кажется, работает, но сkeydownВы получаете повторные ключи. Я знаю, что все, что вам нужно сделать, это отсоединить обработчик при первом вызове, но кажется странным, что три разных типа событий будут вести себя так по-разному. Почему это? Есть ли очевидный документ, который я, очевидно, не читал?

Ответы на вопрос(3)

Ваш ответ на вопрос