2011-12-08 109 views
5

我沒法把這個工作:ExtJS的刪除監聽

var fn = function(){}; 

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

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

'聯合國'/ '的removeListener' 不起作用。感謝任何幫助!

回答

12

默認情況下,Ext.select創建一個flyweight object,它不記得事件偵聽器。因此,他們不能在以後被刪除。

您需要通過第二個參數設置爲true創造真正Ext.Element S:

var fn = function(){}; 

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

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

不幸的是,該文檔是不是這個很清楚。

+0

這有幫助。謝謝! –