我希望在用户输入时删除Spark TextInput中的特定字符,这样就不会导致像在最后一个字符之后用鼠标舔等任何内容。
答案 0 :(得分:1)
您是否尝试过限制TextInput的属性?我不知道你的具体人物是什么,但通常有2例限制。 限制为一组字符:
<s:TextInput restrict="A-Za-z" />
允许除一些特殊字符以外的所有字符:
<s:TextInput restrict="^0-9" />
要处理unicode字符,请使用\ u:
<s:TextInput restrict="\u0239" />
答案 1 :(得分:1)
您可以创建自己的自定义TextInput组件并覆盖keyDownHandler()
,也可以在TextInput
上添加事件监听器,如下所示:
<s:TextInput keyDown="{ textInputKeyDownHandler(event) }"/>
然后在事件处理程序上:
private function textInputKeyDownHandler(event:KeyboardEvent):void {
// Make your validations and if necessary, use the following command
// to prevent the character from being added to the TextInput
event.preventDefault();
}
这样,字符永远不会添加到TextInput
,这意味着 text 属性,光标位置不会改变。
注意:使用event.charCode
和event.keyCode
进行必要的验证。