Я пытаюсь реализовать своего рода виджет "управляемой типизации" для ввода данных, в котором текстовый ввод пользователя строго контролируется и фильтруется.Когда пользователь вводит определенный символ, мне нужно перехватить и отфильтровать его перед отображением в виджете.Представьте, если хотите, оболочку Unix, встроенную в веб-приложение;это то, что я пытаюсь реализовать.Я попробовал два подхода.
В первом я расширяю TextArea
и добавляю KeyPressHandler
для фильтрации символов.Это работает, но предоставляемая браузером коррекция орфографии совершенно неуместна, и я не вижу, как ее отключить.Я пробовал:
DOM.setElementProperty (textArea.getElement (), "spellcheck", "false");
Но, похоже, это не имеет никакого эффекта-Я все еще получаю красные подчеркивания над «опечатками».
Во втором подходе я использую FocusWidget
для получения событий KeyPress и отдельный виджет Label
или HTML
для представления отфильтрованных символов обратноПользователь.Это позволяет избежать проблемы исправления орфографии, но, поскольку FocusWidget
не является TextArea
, браузер стремится перехватить определенные напечатанные символы для внутреннего использования;Например, FireFox будет использовать символ «/», чтобы начать «Быстрый поиск» на странице, а нажатие Backspace загрузит предыдущую веб-страницу.
Есть ли лучший способ выполнить то, что я пытаюсь сделать