2013-04-29 3 views
1

Я пытаюсь отключить открытые и закрытые круглые скобки для текстового поля.Отключить ввод ключей для открытых скобок

Успешное отключение кода ключа для нескольких символов, но не с использованием SHIFT.

if(event.keyCode == 57 || event.keyCode == 48) 

отключает и 9, 0 наряду с открытой и закрытой скобкой

if (event.shiftKey) { 
      if(event.keyCode == 57 || event.keyCode == 48) 
      event.preventDefault(); 
     } 

как я DIABLE скобки в одиночку, а не число. Каков правильный путь.

я не хочу использовать какие-либо плагины

Благодаря

+1

работает для меня: http://jsbin.com/ahized/1 ([источник] (HTTP://jsbin.com/ahized/1/edit)). Но вы, вероятно, должны использовать 'event.which', а не' event.keyCode', см. [Docs] (http://api.jquery.com/category/events/event-object/) для получения дополнительной информации. –

+0

См. Http://stackoverflow.com/a/7975890/2235132 – devnull

ответ

3
$('input').on('keypress', function(e) { 
    if (e.which == 40 || e.which == 41) 
     e.preventDefault(); 
}); 

FIDDLE

+0

Определенно путь. Различные раскладки клавиатуры могут помещать '()' в разные места. –