如何为“ALL”AS3 TextInput组件“setStyle”和“禁用焦点”(在焦点时删除默认的蓝线矩形)?
答案 0 :(得分:0)
除非你打算以某种方式保留它们的记录,否则我认为最好的方法可能是递归显示列表以查找该类的实例。类似的东西:
// Necessary imports
import flash.display.DisplayObjectContainer;
import flash.display.DisplayObject;
import fl.controls.TextInput;
function disableAllInputs(container : DisplayObjectContainer) : void
{
var i : uint;
for (i=0; i<container.numChildren; i++) {
var child : DisplayObject = container.getChildAt(i);
if (child is TextInput) { // Proper class here
var input : TextInput = TextInput(child); // and here
// Disable focus and setStyle here
}
else if (child is DisplayObjectContainer) {
// Recurse
disableAllInputs(child as DisplayObjectContainer);
}
}
}
这将循环遍历所提供容器的所有子项,并检查它们是否为输入。如果是,则可以在相应的if语句中为它们执行所需的代码。但是,如果它们是其他容器,它也将递归并循环通过该容器的子容器。
我不确定文本输入组件的类名是什么,但我认为它只是TextInput
。如果没有,只需使用上面源代码中标记的正确名称替换。