最近在调试Ext.Panel与FusionChart的显示问题时,发现Ext.Panel在事件处理上的一点差异。(关于Ext.Panel和FusionChart另在其它的文章中讨论)
扩展Ext.Panel为ChartPanel时,在initEvents方法中用addListener来增加事件监听,同时在创建ChartPanel实例时用下面的代码指定相关的事件处理器
运行时会发现,通过实例化时的config配置参数指定的listener先于用addListener方法添加的事件处理器执行。特别是像render这样的一次性方法,如果在initEvents中增加处理器,会抓不到相关的事件。
总结就是initEvents方法是初始化事件的,对于对执行顺序要求比较高(自己体会吧,不太好说^^)的事件处理,应该在initComponent添加,或直接通过配置参数指定。
附事件顺序:
show - 显示
render - rendered=false时 绘图
resize - 调整尺寸
activate - 激活
本文探讨了Ext.Panel扩展为ChartPanel时的事件处理差异,特别是在使用addListener与配置参数指定事件处理器的情况下的执行顺序问题。对于如render这类一次性事件,需注意监听器的添加位置。
129

被折叠的 条评论
为什么被折叠?



