任何人都可以帮我吗?
我想在运行时从单元格编辑插件中删除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);
提前致谢,
答案 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
。