0

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

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

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

非常感谢所有帮助!

4

1 回答 1

0

您可以使用is运算符。

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

通过LiveDocs

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

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

于 2013-09-10T17:14:23.090 回答