2011-04-08 191 views
1

我正在動態添加節點到ExtJS TreePanel。我有一個用於打開新面板的節點的dblclick監聽器。當我雙擊節點時,節點會自動崩潰。防止ExtJS treenode崩潰

我不希望節點崩潰時,我雙擊它。有沒有辦法阻止這種情況發生?

回答

2

實施beforedblclick事件爲Node;那麼,無論何時觸發事件,請查看該節點是否展開,如果是,則返回false

ExtJS API documentation

beforedblclick:(此節點, Ext.EventObject E)

火災 雙擊處理。返回假 取消默認操作。

+0

非常感謝它的工作! – mayan 2011-04-09 08:40:49

0

我覺得默認的TreePanel中有一個默認的監聽器「的onclick」,這回應一樣:

if(node == 'open') { 
    closeNode(); 
} 
else { 
    openNode(); 
} 

所以雙擊會先打開它的第一次點擊,然後關閉它在第二。

您應該添加監聽到TreePanel中的像這樣:

new Ext.tree.AsyncTreeNode({ 
       expanded: true, 
       children: [{ 
        text: 'Menu Option 1', 
        leaf: true 
       }, { 
        text: 'Menu Option 2', 
        leaf: true 
       }, { 
        text: 'Menu Option 3', 
        leaf: true 
       }] 
      }), 
      rootVisible: false, 
      listeners: { 
       click: function(n) { 
        return false; 
       }, 
       dblclick: function(n) { 
        Ext.Msg.alert('Navigation Tree Click', 
         'You clicked: "' + n.attributes.text + '"'); 
       } 
      } 
0

在樹格(樹面板,多列),這爲我做(ExtJS6)的情況下:

listeners: { 
    beforecelldblclick: function(){ 
     return false; 
    } 
}