ExtJS删除监听器

问题描述 投票:5回答:1

我很难使它正常工作:

var fn = function(){};

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

Ext.select('ul > li').un('click',fn);
//doesn't work

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

extjs extjs4 dom-events
1个回答
12
投票

默认情况下,Ext.select创建一个flyweight object,它不记住事件侦听器。因此,它们以后将无法删除。

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

var fn = function(){};

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.