自定义事件的使用心得

由于工作关系,只能简单整理下曾经做项目的心得,这里先谈谈As3.0的自定义事件。

对初学者可能感觉自定义很复杂,但等你克服恐惧真的用多了的话就会发觉其实自定义事件很简单,但正是简单的它可以让你的程序更灵活。

 

首先打开一个Flex项目 新建一个As类 让他继承Event,自动会生成一下代码:

其中type是事件名 bubbles是是否冒泡,cancelable是指示是否可以组织事件对象默认行为。

对于不需要的参数可以去除,重写构造函数。如下:

 

我自己定义了3个需要传递的参数,同时重写构造函数,这样一个自定义事件就完成了,是不是很简单。

 

知道怎么定义, 让我们看看怎么使用:

平时我们派发事件是用Event: dispatchEvent(new Event("type"));

自定义事件继承了Event,同样的:dispatchEvent(new myEvent("type",1,"1",false)); 

是不是也很简单

 

那它能为我们带来什么方便呢?

1。Event只能做到事件的派发与接收,不能做到灵活的数据传递,而自定义事件可以很容易的弥补这一不足。

2。Event只能通过target和currentTarget得到事件对象,而有时候他们中没有一个是你想要的事件对象,那怎么办呢?自定义事件可以很方便的解决这一问题,在自定义事件内定义属性o:Object,在事件派发的时候把想要得到的事件对象作为参数派发出去,这样你就可以在接受事件的时候通过evt.o得到你想要的对象了。

 

习惯使用自定义事件你会发现Flex的事件机制不再那么神秘。

PS:

当然尽管方便,但如无必要尽量使用Event,因为过多的自定义事件会让你的代码繁杂不堪。总之干什么都要适度

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值