我应该使用更改或textInput事件捕获TextInput控件上的用户输入吗?为什么?
解决方法
只有当用户将输入的文本输入到控件中时才调度
textInput
。另一方面,
change
是在用户所做的每一个改变时发出的。因此,例如,如果用户删除文本的一部分,则只会调度更改事件。
flash.events.TextEvent.TEXT_INPUT
:
“Dispatched when the user types,deletes,or pastes text into the
control.”
(忽略这个词“删除” – 我刚刚尝试过,当用户删除文本时,不会调度此事件)
“Dispatched when text in the TextInput control changes through user
input. This event does not occur if
you use data binding or ActionScript
code to change the text.”
您还可以使用valueCommit
事件,当用户“提交”更改(通常通过将焦点从文本字段移开时)调度,但请记住,当字段值以编程方式更改时,也会调度此事件。