TextCput的SkinClass可以调度keyDown&正确显示softKeyBoardType

时间:2013-08-29 08:50:27

标签: flex textinput

在Flex spark TextInput(移动设备)上遇到此问题:

1)TextInputSkin可以调度keyDown但无法正确显示设置为“number”的softKeyBoardType。 2)StageTextInputSkin可以正确显示softKeyBoardType但不能调度keyDown。

从我的所有搜索中,似乎这些是这些皮肤的限制。

我需要拥有keyDown才能获得某些验证的键入字符,并且不会通过取消事件将其显示在textInput中。

我的另一个选择是寻找其他方式来获取字符,而不是在textinput中显示并且仍然使用StageTextInputSkin。

谢谢!

1 个答案:

答案 0 :(得分:0)

当用户与TextInput和TextArea控件的默认软键盘交互时,仅为一小部分键调度keyUp和keyDown事件。要捕获所有键的单个按键,请使用change事件。只要文本输入控件的内容发生更改,就会调度change事件。这样做的缺点是您无法访问已按下的键的属性,您必须编写自己的按键逻辑。 当用户与基于TextField的控件的软键盘交互时,诸如keyUp和keyDown之类的事件适用于所有键。以下示例使用keyUp处理程序获取当前键,并根据键代码将样式应用于Label控件。因为requestSoftKeyboard()方法引发Label控件的键盘而不是TextInput或TextArea控件,所以应用程序使用基于TextField的键盘。 有关详情,请查看此网站:http://help.adobe.com/en_US/flex/mobileapps/WS82181550ec4a666a39bafe0312d9a274c00-8000.html#WS19f279b149e7481c-66e67e6c13313699023-8000