javascript - 取消 ExtJS 组件的事件

标签 javascript extjs extjs4.2

我有一个网格面板,“ParentGrid”,用于填充另一个网格,“Childgrid”> 在页面上。

ChildGrid 通过 ParentGrid 选择更改事件的监听器进行填充。默认情况下,当页面加载时,ParentGrid 的第一行被选中,ChildGrid 按预期填充。

ChildGrid 具有类似的功能(行选择事件的处理程序创建一个图表)。 ChildGrid 具有属性 selType: 'checkboxmodel' 并且在页面加载时会填充默认图表,并且 ChildGrid 的所有行都需要选择(我可以做到)。

但问题是,当默认选择 ChildGrid 中的所有行(例如 10 行) 时,该函数将被调用 10 次。 我不想在页面第一次加载时调用此函数。如何在特定情况下取消 'select' 事件,网格首次加载时?

最佳答案

如果您需要使用 setter 和任何其他在内部触发事件的函数调用,您可以 pause and resume 所有当你做某事时可观察组件上的事件,例如

// grid: Ext.grid.Panel (or anything else which implements Ext.util.Observable)
grid.suspendEvents(false);  // boolean false discards events which would 
                            // otherwise queue until resumed (below)
// do something...
grid.resumeEvents();

关于javascript - 取消 ExtJS 组件的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25406060/

相关文章:

javascript - 使用外部链接访问 jquery Accordion

javascript - 获取 UV 坐标处纹理的颜色

javascript - microsoft office javascript API中messageRead和messageWrite模式的逻辑?

javascript - extjs 中的 mon() 和 on() 有什么区别?

extjs - 如何将 Name1 拖动到 Name 6 面板

node.js - 分机JS : TabPanel rendering Infinite Grid too quickly

javascript - ExtJS TypeError : item. onAdded 不是函数

javascript - Firefox 中的混合内容阻止行为

javascript - ExtJS4 MVC 延迟加载

javascript - 将 EXT JS 按钮的样式用于基本 HTML 按钮