TextField () - отфильтровывать клавишу возврата с помощью прослушивателя событий - PullRequest
2 голосов
/ 12 февраля 2009

Как запретить работу определенного ключа, например клавиши возврата, в редактируемом поле TextField, предотвращение дефолта не работает:

public function handleEvents(evt:KeyboardEvent):void {
 if (evt.type == KeyboardEvent.KEY_UP) {
 if (evt.keyCode==8){
   evt.preventDefault () ;
  }
}

Ответы [ 3 ]

2 голосов
/ 12 февраля 2009

Я рекомендую прослушать событие KEY_DOWN, если что-нибудь, но, вероятно, это тоже не сработает. IIRC события такого рода немного особенные, и вы не можете их остановить. Я подозреваю, что вам нужно сделать, это сохранить копию текста и всякий раз, когда вы обнаруживаете изменения, которые вам не нравятся, просто возвращайте их к сохраненной версии.

1 голос
/ 12 августа 2011

Что я сделал, так это установил фокус на другое временное (и за рамками) текстовое поле, и в моем обработчике нажатия клавиш вернул фокус в мое текстовое поле для клавиш, которые я хочу пройти. Настройка фокуса только для клавиш, которые вы хотите отфильтровать, также работает.

0 голосов
/ 12 февраля 2009

Попробуйте добавить evt.stopImmediatePropagation ()

...