flex TextOperationEvent не может получить текущий ввод текста - PullRequest
0 голосов
/ 15 октября 2019

Я пытаюсь показать всплывающее окно при вводе любого нечислового символа в элементе TextInput. Я использую TextOperationEvent и event.target / event.currentTarget должен получить текст, который в настоящее время вводится. Однако оказывается, что он получает весь текст в элементе TextInput.

Я использую flex в качестве внешнего интерфейса

public function restrictChequeDotInput(evt:TextOperationEvent):void
{                                           
    if(lblPymtMethLabelDesc.text.indexOf("Cheque") == 0){   
        if (!(evt.operation is DeleteTextOperation)){
            restrictChequeDot(evt.target);
        }
    }                                                   
}   

private function restrictChequeDot(textInput:TextInput):void
{                                       
    if(nonNumericCheck.test(textInput.text)){
        outerDocument.model.showRestrictDotInputWarning(); //show popup

    }

проблема в restrictChequeDot(evt.target) Например, если в поле ввода текста уже есть символ "abc", а затем я ввожу "v "в поле ввода текста, я ожидаю, что событие получит только" v ", однако оказывается, что получено" abcv ". Я обнаружил, что каждый раз, когда я закрываю всплывающее окно, оно вызывает событие focusIn, которое выбирает все содержимое текстового поля, это будет связано? Может ли кто-нибудь любезно дать мне некоторое понимание? большое спасибо ~~

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...