在Flex spark TextInput(移动设备)上遇到此问题:
1)TextInputSkin可以调度keyDown但无法正确显示设置为“number”的softKeyBoardType。 2)StageTextInputSkin可以正确显示softKeyBoardType但不能调度keyDown。
从我的所有搜索中,似乎这些是这些皮肤的限制。
我需要拥有keyDown才能获得某些验证的键入字符,并且不会通过取消事件将其显示在textInput中。
我的另一个选择是寻找其他方式来获取字符,而不是在textinput中显示并且仍然使用StageTextInputSkin。
谢谢!
答案 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