2012-05-19 5 views
1

что я хочу сделать, это убедиться, что символы «, которые не вводятся в поле ввода. У меня есть множество кодов нажатия клавиш, которые ограничивают пользователей az и 0-9, но некоторые как я не могу заставить его работать таким образом, чтобы я мог ограничиться тем, что не набирал несколько символов, а не указывал, что нужно набирать.с указанием символов, которые не могут быть напечатаны

http://jsfiddle.net/cG4aV/ - tryign для ограничения ввода ключа (работ), "(не работа)

также не работает для любого ключа, который активирует со сдвигом ...

любые идеи

+1

Это работает для 'ввести" и «' для меня? S –

+0

@joy Странно .. я использую Firefox ... как насчет того, чтобы попробовать этот –

+0

'уаг код = (e.keyCode e.keyCode : e.which); 'для определения кода –

ответ

1

Я вижу, что это работает на Chrome, но не на Firefox. Попробуйте заменить keyCode на which, это нормализовано для всех браузеров.

Updated fiddle, должен работать в обоих браузерах сейчас.

кавычки JQuery документы на event.which:

event.which свойство нормализует event.keyCode и event.charCode. Рекомендуется следить за событием. Для ввода клавиатуры. Более подробно читайте о event.charCode на MDC.

Таким образом, это достаточно, чтобы проверить на which, нет необходимости проверять keyCode или charCode.

+0

да, с каким http://jsfiddle.net/cG4aV/3/ –

+0

какие-либо проблемы с IE? –

+0

nope, протестирован здесь, в IE6 (единственное, что у меня есть), и он работал нормально. Должен работать с более новыми версиями тоже – mgibsonbr

0

Правильное выражение для определения кода кросс-браузер является

var code = (e.keyCode ? e.keyCode : e.which); 

И это работает для меня в firefox 12

Working Demo

Но вы должны лучше использовать e.which согласно jQuery doc говорит

Свойство event.which нормализует event.keyCode и event.charCode. Рекомендуется смотреть событие. Для ввода клавиатуры.

+0

должен пойти с ответом mgi he отправлено первым ... –

+0

Thats fine. :) Пойдите с этим. –