我应该使用change
or textInput
事件来捕获TextInput控件上的用户输入吗?为什么?
textInput
仅当用户在控件中输入文本时才调度.change
另一方面,在用户提交的每个更改上发送.因此,例如,如果用户删除文本的一部分,则仅change
调度该事件.
通过代码修改文本时,不会调度这些内容:
flash.events.TextEvent.TEXT_INPUT
:
"当用户在控件中键入,删除或粘贴文本时调度."
(忽略那里的"删除"一词 - 我只是尝试过,当用户删除文本时不调度此事件)
flash.events.Event.CHANGE
:
"当TextInput控件中的文本通过用户输入更改时调度.如果使用数据绑定或ActionScript代码更改文本,则不会发生此事件."
您还可以使用valueCommit
事件,该事件在用户"提交"更改时调度(通常通过将焦点从文本字段移开),但请记住,在以编程方式更改字段值时也会调度此事件.