今天在修改bug过程中遇到需要判断,当鼠标点击某一组件(event.target)时判断该组件的类型。查了下API大致有一下几种情况:
为了方便说明此处举例点击button按钮<s:Button id="button"/>
1.mx.core.UIComponent.className():String
只有组件时UIComponent时才具有className属性,具体UIComponent参考API
如:button.className
返回 "Button"
2.mx.utils.ObjectUtil.getClassInfo(obj:Object, excludes:Array = null, options:Object=null):Object
如:mx.utils.ObjectUtil.getClassInfo(button);
返回值:Object — 对象包含下列属性:
name
:包含类的名称的字符串。
properties
:所指定对象的属性名称的经过排序的列表,或对原始键的引用。
3.mx.utils.NameUtil.getUnqualifiedClassName(object:Object):String
此方法会返回指定对象的类的名称,如NameUtil.getUnqualifiedClassName(button) 返回"Button"。
4. flash.utils.getQualifiedClassName(value:*):String
返回包含完全限定类名称的字符串(含包名的类全名),注意与第三条的区别
如 utils.getQualifiedClassName(button)
返回"
mx.controls::Button"