我尝试创建一个函数来更改边框容器的border属性。 为此,我为MXML上的每个边框容器创建了一个函数。
但我要编写更好的代码并执行泛型函数。
今天我的职能是:
protected function bcContact_mouseOverHandler(event:MouseEvent):void
{
// TODO Auto-generated method stub
bcContact.setStyle("borderVisible",true);
bcContact.setStyle("borderWeight",2);
bcContact.setStyle("borderColor",'#000099');
}
bcContact是一个边框容器ID。
我尝试用此替换bcContact但它不起作用。
你能帮我解决这个初学者的错误。
由于
答案 0 :(得分:2)
你可以使用event.CurrentTraget
,然后使用比较功能,与ids比较并进行设置。
答案 1 :(得分:1)
你可以扩展BorderContainer类(在Flash Builder中,在“超类”文本字段中放入BorderContainer)
你的课程看起来像这样:
import flash.events.MouseEvent;
import spark.components.BorderContainer;
package com.extensions.containers {
class MyBorderContainer {
function MyBorderContainer() {
this.addEventListener(MouseEvent.MOUSE_OVER, changeStyle);
this.addEventListener(MouseEvent.MOUSE_OUT, undoStyle);
}
private function changeStyle(e:MouseEvent):void {
this.setStyle("borderVisible",true);
this.setStyle("borderWeight",2);
this.setStyle("borderColor",'#000099');
}
private function undoStyle(e:MouseEvent):void {
this.setStyle("borderVisible",false);
this.setStyle("borderWeight",0);
this.setStyle("borderColor",'#000000');
}
}
}
此类需要位于文件src/com/extensions/containers/MyBorderContainer.as
然后在你的mxml中使用它作为
<containers:MyBorderContainer>
</containers:MyBorderContainer>
命名空间containers
设置为指向com/extensions/containers