Я пытаюсь показать всплывающее окно при вводе любого нечислового символа в элементе 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, которое выбирает все содержимое текстового поля, это будет связано? Может ли кто-нибудь любезно дать мне некоторое понимание? большое спасибо ~~