FLEX 4的一个问题,我的自定义组件里有一个BUTTON事件,我怎么在Application里监听到啊???
感谢你的回答,你写的这个我知道,可是我这个button,是在另一个组件页里建立的也可以说是另一个类里,而我在我的主程序里,添加了这个自定义组件(类),其实就是冒泡。。。F...
感谢你的回答,你写的这个我知道,可是我这个button,是在另一个组件页里建立的 也可以说是 另一个类里,而我在我的主程序里,添加了这个自定义组件(类),其实就是冒泡。。。FLEX 4里应该怎么写啊,button这个是我在一个类里写的 注册侦听==都写在了那个类里,我现在想用主程序也能监听到这个类里button的动作。我不知道我表达的清楚不清楚,郁闷呀
展开
3个回答
展开全部
你的意思是不是说,你的BUTTON相当于一个自定义的组件?
要是这样的话这样处理:
1. 在你自定义的组件里面给这个组件加一个事件,因为就一个button可以定义为“myButtonClick”事件:<mx:Metadata>
[Event(name="“myButtonClick”",type="com.events.MyButtonEvents")]
</mx:Metadata>
其中MyButtonEvents是你自己定义的另外的一个类
MyButtonEvents:
public class MyButtonEvents extends Event
{
public function MyButtonEvents (type:String)
{
super(type, false, false);
}
}
2. 在你的button的click事件触发这个刚定义的组件的“myButtonClick”事件,如下:
internal function onClick(evt:MouseEvent):void
{
var e: MyButtonEvents = new MyButtonEvents(“myButtonClick”);
//可以添加其他处理,根据业务需求来做
this.dispathEvent(e);
}
<mx:Button x="110" y="114" label="登录" id="btn_login" fontSize="12"
fontWeight="bold" width="69" click="onClick(event)"/>
这样就给这个自定义控件增加了“myButtonClick”事件
3. 在你的主程序中直接对这个控件增加这个事件的处理方法就行了
如果button不是自定义的组件的话,直接在主程序里面调用button的click方法就行了,这样调用跟注册事件是一样的
要是这样的话这样处理:
1. 在你自定义的组件里面给这个组件加一个事件,因为就一个button可以定义为“myButtonClick”事件:<mx:Metadata>
[Event(name="“myButtonClick”",type="com.events.MyButtonEvents")]
</mx:Metadata>
其中MyButtonEvents是你自己定义的另外的一个类
MyButtonEvents:
public class MyButtonEvents extends Event
{
public function MyButtonEvents (type:String)
{
super(type, false, false);
}
}
2. 在你的button的click事件触发这个刚定义的组件的“myButtonClick”事件,如下:
internal function onClick(evt:MouseEvent):void
{
var e: MyButtonEvents = new MyButtonEvents(“myButtonClick”);
//可以添加其他处理,根据业务需求来做
this.dispathEvent(e);
}
<mx:Button x="110" y="114" label="登录" id="btn_login" fontSize="12"
fontWeight="bold" width="69" click="onClick(event)"/>
这样就给这个自定义控件增加了“myButtonClick”事件
3. 在你的主程序中直接对这个控件增加这个事件的处理方法就行了
如果button不是自定义的组件的话,直接在主程序里面调用button的click方法就行了,这样调用跟注册事件是一样的
展开全部
HeroBiggio 你好
假设你自定义的button的id = "button"
在脚本里写
button.addEventListener(MouseEvent.CLICK,eventhandle(event));
eventhandle这个是你自定义的
是这样声明
private function eventhandle(event:MouseEvent):void{
}
这里面填写你想要执行的动作
假设你自定义的button的id = "button"
在脚本里写
button.addEventListener(MouseEvent.CLICK,eventhandle(event));
eventhandle这个是你自定义的
是这样声明
private function eventhandle(event:MouseEvent):void{
}
这里面填写你想要执行的动作
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
将冒泡useCapture设为true,试试
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询