0

有人可以帮我吗?

我想在运行时从单元格编辑插件中删除 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);

提前致谢,

4

1 回答 1

0

Ext.grid.plugin.CellEditing.removeListener的签名是:(( eventName, fn, [scope] ) 请参阅文档)这意味着,除了提供应该分离侦听器的事件名称之外,您还需要提供侦听器函数。应该工作的代码是:

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在分离时引用可用的。

于 2013-08-07T13:01:07.820 回答