如何从ExtJs中的单元格编辑插件中删除侦听器?

时间:2013-08-07 12:45:56

标签: extjs

任何人都可以帮我吗?

我想在运行时从单元格编辑插件中删除beforeedit侦听器。

我使用以下代码在插件上添加了监听器。

var gridPlugin = Ext.getCmp(gridId).getPlugin(pluginId);
gridPlugin.addListener(eventName,function(editor,e,eOpts){callbackFunction(editor, e, eOpts);});

但现在我无法删除监听器。

我正在尝试使用以下代码。

var gridPlugin = Ext.getCmp(gridId).getPlugin(pluginId);
gridPlugin.removeListener(eventName);

提前致谢,

1 个答案:

答案 0 :(得分:0)

Ext.grid.plugin.CellEditing.removeListener的签名是:( eventName, fn, [scope] ) (see documentation)这意味着除了提供应该分离监听器的事件名称之外,还需要提供监听器功能。应该起作用的代码是:

var gridPlugin = Ext.getCmp(gridId).getPlugin(pluginId),
    listnerFunction = function(editor,e,eOpts){callbackFunction(editor, e, eOpts);}

gridPlugin.addListener(eventName,listnerFunction);

然后

var gridPlugin = Ext.getCmp(gridId).getPlugin(pluginId);
gridPlugin.removeListener(eventName, listenerFunction);

请注意,在分离时,您需要引用listenerFunction

相关问题