Разное поведение браузеров на события клавиатуры
Заметил такую штуку:
при разной раскладке клавиатуры (en или rus) браузеры реагируют на нажатия клавиш букв по разному. Так, браузеры firefox, opera при сигнале с кириллицы отказываются принимать событие. И keyCode этих клавиш равен 0 в firefox и четырехзначному значению в opera! А браузеры safari, chrome одинаково реагируют на сигналы как кириллицей, так и латиницей. Браузер ie не тестил. Кто может это объяснить? |
dmitry111,
Может нун тестировать код буквы и на латинице и на кирилице при событии? |
Нужно, но только firefox при русской раскладке выдает 0 на любой клавише :)
|
Буду признателен, если скажете как ведет себя ie в этой ситуации?
|
dmitry111,
А при немецкой ? (Раскладки вродь в языковых настройках менять нужно) :write: (Интересно - насколь они рассово-дискриминируют |
не ну firefox явно самый рассовонетерпимый :yes:
Думаю логически правильный подход у opera, ну а с практической точки зрения webkit конечно же наиболее удобен. Вряд ли встретится такая клавиатура, на которой не будет энглиша. |
Сейчас проверил, firefox выдает ноль для стран бывших СССР. :)
А вот например Польша, Литва, Латвия приравнивается к латинице. |
Скинь тестовый код.
|
код как код
<!DOCTYPE HTML> <html> <head> <meta charset="UTF-8"> <title>ууу</title> <script type="text/javascript"> function xxx(e) { alert(e.keyCode); } window.addEventListener("keydown", xxx, false); </script> </head> <body> </body> </html> |
Там целый геморой.
В некоторых случаях надо использовать e.charCode. И это ещё не всё, в разных браузерах и в разных операционках по разному воспринимается зажатие клавиши. Например в ff на убунте - зажатая клавиша вызывает событие 1 раз при нажатии, а в ff windows - постоянно через короткий интервал. Про другие браузеры не помню, но там тоже полный разброд.) |
Часовой пояс GMT +3, время: 21:41. |