ExtJs中2个常用的高级事件功能:委托(Delegation),缓冲(Buffer)

委托delegation
减低内存销毁和防止内存泄露的隐患是事件委托技术的两项好处,其基本要义是:
并不是集合内的每一个元素都要登记上事件处理器,而是在集合其容器上登记
一次便可,这样产生了中央化的一个事件处理器,然后就有不断循环该事件周
期,使得逐层上报机制付诸实现,只要在容器层面定义就可以。
这不是说要求我们在body元素挂上一个全局的事件,这会导致页面内的任何动作都会触发
那个事件,无疑很有可能会带来反效果的,我们想提升效能却会更 慢……因此,我们说,
适用的场景应该像是下拉列表、日历等等这样拥有一群元素的控件,直接或间接地体现在
一个容器身上的那么一个控件。

缓冲buffer
你在登记事件的处理器的时候可以加入配置这个选项。若指定一个毫秒数会把该处理函数
安排到Ext.util.DelayedTask延时之后才执行。如果 事件在那个事件再次触发,则原处理器
句柄将不会被启用,但是新处理器句柄会安排在其位置。
el.on('click', function(e,t) {
// 执行事件具体过程
}, this, {
buffer: 1000 // 重复响应事件以一秒为时间间隔
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值