Традиционно клавиши со стрелками перекрывается ASCII коды, но были представлены программисту в виде последовательности двух байтов, так что вы были в курсе, что специальная клавиша была нажата. С появлением Unicode это уже не чистое решение.
Браузеры реализовали различные способы представления специального ввода ключа в среду выполнения Javascript. Подробности: explained here.
Обычно я использую событие «keydown» при обнаружении клавиш со стрелками, так как это событие имеет правильный код клавиатуры и будет срабатывать с другим кодом ключа (один для 9), когда пользователь вводит левую скобку. Это может не работать в случаях, когда вы хотите разрешить пользователю повторять ключевое событие, удерживая клавишу со стрелкой.
By '(' вы имеете в виду удерживание shift и нажатие 9, правильно? –
Какой браузер вы используете? С нажатием клавиши chrome с jquery я не могу захватить клавиши со стрелками. '(' Does give me 40, ascii для этого символа. –