Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Не работает клавиша Ж / ; в FF (https://javascript.ru/forum/events/2335-ne-rabotaet-klavisha-zh-%3B-v-ff.html)

the.economist 10.12.2008 13:00

Не работает клавиша Ж / ; в FF
 
Задача: ограничить набор символов алфавитом и парочкой других кнопок.

Реализация для Firefox
:
if ((event.which < 65 || event.which > 90) && event.which != 109 && event.which != 189 && event.which != 39 && event.which != 37 && event.which != 9 && event.which != 8 && event.which != 46 && event.which != 219 && event.which != 221 && event.which != 186 && event.which != 192 && event.which != 222 && event.which != 188 && event.which != 190 && event.which != 191) return false;

Проблема
: в FF3 все работает, кроме клавиши Ж / ; (event.which != 186 если я верно понимаю)

Поиск ответа решения не принес. Подскажите, пожалуйста, что не так?

Kolyaj 10.12.2008 13:34

У этой клавиши код 59.

Проправка: У этой клавиши код 59 только в FF, в остальных 186.

the.economist 11.12.2008 10:41

Большое спасибо

Ostentum 18.12.2008 11:11

Опера подвела...
 
Тот же код, в Опере не работает вообще ((
Пробовали под IE:
if ((event.keyCode < 65 || event.keyCode > 90 ) && event.keyCode != 32 && event.keyCode != 109 && event.keyCode != 189 && event.keyCode != 39 && event.keyCode != 9 && event.keyCode != 37 && event.keyCode != 8 && event.keyCode != 46 && event.keyCode != 219 && event.keyCode != 221 && event.keyCode != 192 && event.keyCode != 186 && event.keyCode != 222 && event.keyCode != 188 && event.keyCode != 190 && event.keyCode != 191) return false;

Результат тот же.

Подскажите пожалуйста как ограничить набор в Опере?

Octane 18.12.2008 14:05

Проведять введенную сроку и удалять запрещенные символы наверное. preventDefault в ней не работает для keydown.

Kolyaj 18.12.2008 14:34

Цитата:

Сообщение от Octane
preventDefault в ней не работает для keydown

Можно на keydown проверять, надо ли отменять, а на keypress -- отменять. Опера, она туповатая, keypress всегда посылает.

Ostentum 18.12.2008 17:20

Спасибо!


Часовой пояс GMT +3, время: 23:29.