ExtJS删除监听器

Pra*_*apa 5 extjs dom-events extjs4

我很难让这个工作:

var fn = function(){};

Ext.select('ul > li').on('click',fn);
// works

Ext.select('ul > li').un('click',fn);
//doesn't work
Run Code Online (Sandbox Code Playgroud)

'un'/'removeListener'不起作用.感谢任何帮助!

use*_*621 12

默认情况下,Ext.select创建一个不记得事件侦听器的flyweight对象.因此,以后不能删除它们.

您需要Ext.Element通过将第二个参数设置为true:来创建实数:

var fn = function(){};

Ext.select('ul > li', true).on('click',fn);

Ext.select('ul > li', true).un('click',fn);
Run Code Online (Sandbox Code Playgroud)

不幸的是,文档对此并不十分清楚.