2011-05-24 45 views

回答

3

addClassOnOver爲你自動完成。你試過了嗎?沒有必要手動刪除上課。

+0

感謝您的回覆。我嘗試過addClassOnOver(3.3.1),並且添加的類不會被刪除。其實,我正在使用SuperBoxSelect;在enableElListeners中,類x-superboxselect-item和x-superboxselect-item-hover永遠不會被刪除。也許這是一個錯誤? – Upperstage 2011-05-25 14:24:31

+1

聽起來像是SBS中的一個錯誤。標準的addClassOnOver方法自動設置一個刪除處理程序。 – 2011-05-26 23:54:52

+1

你是對的; SBS中的錯誤。它調用addClassonOver與由空格分隔的兩個類;一旦兩個電話打出來,一切都很好。 – Upperstage 2011-05-31 22:04:19

1

試試這個:

var removeFn = function(e){ 
    if(!e.within(this.el, true)){ 
    Ext.fly(this, '_internal').removeClass(className); 
    } 
}; 

this.on('mouseout', removeFn, this.dom); 

參考:

addClassOnOver

+0

感謝您的回覆。我嘗試處理mouseout事件,但沒有成功。但是,我不熟悉_internal - 作爲DOM搜索的根源?你會解釋一下嗎? – Upperstage 2011-05-25 12:00:58

+0

@Upper Stage:Ext.fly(String/HTMLElement el,[String named])接受2個參數,el:dom節點或id&命名:String允許創建命名的可重用flyweights以防止衝突(例如,內部Ext使用「 _global「),你也可以使用Ext.get。請參閱:http://dev.sencha.com/deploy/ext-3.3.1/docs/source/Element.html#method-Ext-fly – MMT 2011-05-25 13:40:37

+0

我瞭解要飛行的參數;我在詢問字符串'_internal'。什麼是'_internal'? (幫助+1) – Upperstage 2011-05-25 14:26:24

0

在SuperBoxSelect這看起來是一個錯誤。

要解決的SBS的錯誤,我只是改變:

this.el.addClassOnOver('x-superboxselect-item x-superboxselect-item-hover'); 

到:

this.el.addClassOnOver('x-superboxselect-item-hover'); 

這解決了問題,非常漂亮,且無副作用,我可以看到。