希望对知道答案的人来说是一个简单的问题!
在 AS3 中,我正在侦听用户键盘命令,但不希望在用户输入文本字段时激活该命令。命令是 Shift + F,我不希望它在有人打字时触发。
Stage.focus 返回一个 InteractiveObject,我看不出如何确定它是否是 InteractiveObject 的 TextField 子类。它追踪“[object TextField]”。
非常感谢所有帮助!
希望对知道答案的人来说是一个简单的问题!
在 AS3 中,我正在侦听用户键盘命令,但不希望在用户输入文本字段时激活该命令。命令是 Shift + F,我不希望它在有人打字时触发。
Stage.focus 返回一个 InteractiveObject,我看不出如何确定它是否是 InteractiveObject 的 TextField 子类。它追踪“[object TextField]”。
非常感谢所有帮助!
您可以使用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。