Apache Royale:如何检测 j:textInput 上的回车键

Apache Royale : How to detect enter key on j:textInput

我有这个代码:

<j:TextInput localId="ti_pass"  >
    <j:beads><j:PasswordInput/></j:beads>
</j:TextInput>

不幸的是,我在查看 https://apache.github.io/royale-docs/component-sets/jewel/textinput 时没有找到 KeyDown 事件的珠子。 是否有特定的事件可以监听?

有没有办法知道是否按下了回车键?

谢谢问候

您需要在字符串 (TextInput) 上监听 KeyboardEvent.KEY_DOWN

如果您使用的是 MXML,请首先在 listenKeyDown 的周围容器中为 initComplete 添加一个侦听器:

initComplete="listenKeyDown()"

然后在脚本部分添加:

public function listenKeyDown():void {
    the_textinput.addEventListener(KeyboardEvent.KEY_DOWN, keyDownEventHandler)
}

protected function keyDownEventHandler(event:KeyboardEvent):void
{
    trace("Any key:", event.key);

    if(event.key === KeyboardEvent.KEYCODE__DOWN)
    {
        trace("Down key:", event.key);
    }
}

我必须说你的问题有更好的解决方案,但由于专注于 keydown,我完全忘记了。对不起。

您在 TextInput 中有一个可以直接使用的 enter 事件。示例在 TextInputPlayGround 中的 Tour De Jewel 中。

private function enterPress(event:Event):void
{
    trace("enter pressed");
}
<j:TextInput text="A TextInput" enter="enterPress(event)"/>

HTH

卡洛斯