当前位置:  开发笔记 > 编程语言 > 正文

从Flex TextInput控件捕获用户输入:要使用哪个事件?

如何解决《从FlexTextInput控件捕获用户输入:要使用哪个事件?》经验,为你挑选了1个好方法。

我应该使用changeor textInput事件来捕获TextInput控件上的用户输入吗?为什么?



1> hasseg..:

textInput仅当用户在控件中输入文本时才调度.change另一方面,在用户提交的每个更改上发送.因此,例如,如果用户删除文本的一部分,则仅change调度该事件.

通过代码修改文本时,不会调度这些内容:

flash.events.TextEvent.TEXT_INPUT:

"当用户在控件中键入,删除或粘贴文本时调度."

(忽略那里的"删除"一词 - 我只是尝试过,当用户删除文本时调度此事件)

flash.events.Event.CHANGE:

"当TextInput控件中的文本通过用户输入更改时调度.如果使用数据绑定或ActionScript代码更改文本,则不会发生此事件."

您还可以使用valueCommit事件,该事件在用户"提交"更改时调度(通常通过将焦点从文本字段移开),但请记住,在以编程方式更改字段值时也会调度此事件.


非常感谢澄清的答案.作为旁注:我做了一些测试,发现在访问`textInput`事件的事件处理程序中的`text`属性时(使用`event.currentTarget.text`),我得到的值反映了`text`的值. _before_触发事件的按键.
推荐阅读
落单鸟人
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有