场景:在下在mx:DataGrid中,自定义一下itemRenderer,用于添加按钮到列中
itemRenderer代码如下:
mx:DataGrid组件的代码如下:
如上所示,在第三个DataGridColumn中添加了一个呈现器,效果如下图:
如果itemRenderer中的事件派发处,第二个参数为false(default)时,DataGrid添加了EventListener也是没用的,flex一定反应也没有。
但如果将第二个参数设置为true的话,DataGrid就可以对事件响应了。
原理:
因为捕捉的过程到不了itemRenderer这个深度 所致。当我们改冒泡时,直接从叶子节点出发溯源(从leaf开始向上找root),所以指定节点的 任何直系父辈会可以感知这一事件的发生。而 cancelable只是用于声明当前所发生的事件消息是否可以被截停,不继续传下去,与树的深度等无关。已经过实验,与第二个参数的设置没有关系。