Flex事件

[color=red]为什么接收不到dispatch出来的自定义Event?[/color]
如果是在父控件里监听,则此Event的bubble属性应该为True。

自定义消息的时候,一定要记得重写clone()函数。在此自定义事件的处理函数里,如果需要再次dispatch此自定义事件,则该clone函数会被调用到。如不重写clone函数,则第二次dispatch出去的事件,你添加的自定义属性将不会有正确的值。

[color=red]event的target和currentTarget有啥区别?[/color]
The currentTarget property is the IEventListener you registered the event handler for. The target is the one that dispatched the event that you are currently handling.
请看下边参考链接中的例子认真体会。

参看链接:
http://flex4fun.com/2010/11/09/flex-event-target-and-currenttarget/

[color=red]Event的stopPropagation和stopImmediatePropagation有什么区别?
[/color]

[color=red]组件A及其子组件B都监听A的某事件,他们的事件处理函数的响应有固定的先后顺序吗?[/color]

[color=red]为什么以getter和setter方式实现的Bindable机制不work?[/color]
示例代码如下:
[Bindable] public function get currentPage():uint
{
return m_currentPage;
}

public function set currentPage(currentPage:uint):void
{
m_currentPage = currentPage;
}

private var m_currentPage:uint = 1;


不work原因:以getter和setter方式实现变量的Bindable时,修改变量必须通过setter来修改,而不能直接给变量赋值。以上边的代码为例,不可以直接修改m_currentPage。

FYI:[Bindble]放在getter或者setter前都可,而且与先后顺序没有关系。

[color=red]Bindable的问题[/color]
我有一个自定义的UIComponent的子类。

里边有两个函数:
[Bindable(event="AChanged")]
public function get a():Number()
{ }

public function set a(p:Number):void()
{
dispathEvent(new Event("AChanged"));
}

那么在类的内部给a赋值,a = 100; 则getter函数会被调用吗?

[color=red]Flex标准库里有没有提供能在指定延迟时间后,调用某一函数的机制?[/color]
有,请使用setTimeout。
[url]http://livedocs.adobe.com/flash/9.0/ActionScriptLangRefV3/flash/utils/package.html#setTimeout%28%29[/url]
其实也等效于Tweening libraries的delayedCall函数。
TweenMax.delayedCall(2, myFunction, ["myParam"]);

[color=red]dispatchEvent的本质仅是简单的函数调用吗?[/color]
是的,dispathEvent基于sendMessage。
参考链接:
[url]http://hi.baidu.com/neeleq/blog/item/f91a6e1714842958f3de32ef.html[/url]
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值