Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/extjs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何从ExtJs中的单元格编辑插件中删除侦听器?_Extjs - Fatal编程技术网

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

如何从ExtJs中的单元格编辑插件中删除侦听器?,extjs,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).getP

有人能帮我吗

我想从单元格编辑插件中删除运行时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);
但现在我无法删除侦听器

我正在尝试以下代码

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);

提前感谢,

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

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

gridPlugin.addListener(eventName,listnerFunction);
然后


请注意,在拆下它时,您需要有一个对
listenerFunction
的引用。

我尝试过它,但它不起作用。我将同一函数作为第二个参数传递给RemovelListener方法。请注意,您必须传递对原始侦听器函数的引用,而不是传递具有相同代码的匿名函数。我该如何做?我尝试只传递函数(editor、e、eOpts){},但它不起作用。你能举一些例子吗?这个例子从一开始就在答案中。请注意,我首先将函数分配给
listenerFunction
handle,然后使用此句柄注册和取消注册侦听器。