Обработка ключей JavaScript и совместимость браузера

Я работаю над обработкой ключей в сценарии Java. Я провел некоторое исследование и хотел бы знать, правильно ли я понимаю обработку ключей.

KeyDown / KeyUp Event События key down и key up поддерживаются IE7 + и Firefox 3.5+. Я не проверял более ранние версии браузеров, но, полагаю, они также поддерживают эти события.

Правильно ли говорить, что у каждой клавиши на клавиатуре всегда будет код клавиши.

CharCode

Значение CharCode доступно при нажатии клавиши. Большинство клавиш будет иметь коды, которые представляют фактическое значение. Некоторые ключи не будут иметь код, связанный с ними. Например. Возврат, удаление, клавиши со стрелками.

Правильно ли сказать, что при нажатии клавиш код будет таким же, как и код клавиши?

Порядок событий

KeyDownНажатие клавишиKeyUp

Этот порядок отличается от браузера к браузеру? Например, у меня есть две функции. Первый связан с событием KeyDown, второй связан с событием KeyPress. Вызов события KeyPress означает, что событие KeyDown также будет вызвано, когда я хочу, чтобы сработало только одно из этих событий.

Наконец, я подумывал об использовании различных процедур обработки ключей в зависимости от версии браузера. Например:

Проверьте версию браузераПолучить процедуру обработки ключей в зависимости от версии браузера

Это введет дополнительный код, но должно упростить обслуживание. Кроме того, в будущем, когда я захочу предоставить поддержку для другого браузера, я могу просто добавить другую подпрограмму, и это не повлияет на существующую подпрограмму обработки символов.

До сих пор я читалhttp://www.quirksmode.org

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

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