Разное поведение браузеров на события клавиатуры
Заметил такую штуку:
при разной раскладке клавиатуры (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, время: 20:56. |