AS3:确定stage.focus是否在任何文本字段上

时间:2013-09-10 16:45:35

标签: actionscript-3 flash actionscript

对于知道答案的人来说,希望这是一个简单的问题!

在AS3中,我正在侦听用户键盘命令,但不希望在用户键入文本字段时激活该命令。该命令是Shift + F,我不希望在有人输入时触发它。

Stage.focus返回一个InteractiveObject,我看不出如何确定它是否是InteractiveObject的TextField子类。它描绘出“[object TextField]”。

非常感谢所有人的帮助!

1 个答案:

答案 0 :(得分:0)

您可以使用is运算符。

private function keyboardEventHandler( e:KeyboardEvent ):void {
    if ( e.target is TextField || e.currentTarget is TextField ) {
        return;
    }
    // run the original handler
}

通过the LiveDocs

  

评估对象是否与特定数据类型兼容,   类或接口。使用is运算符而不是instanceof   用于类型比较的运算符。您也可以使用is运算符   检查对象是否实现了接口。

因此,它允许您检查某个数据类型/类的对象是否,在本例中为TextField。