1

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

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

从我所有的搜索来看,这些似乎是此类皮肤的局限性。

我需要有 keyDown 以便不获取键入的字符以进行某些验证,并且通过取消事件使其不显示在 textInput 中。

我的另一个选择是寻找其他方法来获取之前键入的字符而不显示在文本输入中并且仍然使用 StageTextInputSkin。

谢谢!

4

1 回答 1

0

当用户与 TextInput 和 TextArea 控件的默认软键盘交互时,keyUp 和 keyDown 事件仅针对一小部分键调度。要捕获所有键的单个按键,请使用更改事件。每当文本输入控件的内容发生更改时,就会调度 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

于 2013-08-29T09:44:38.157 回答