2011-04-04 74 views
1


我正在使用dojo 1.5。當我右鍵單擊dojo樹時,右鍵彈出菜單並沒有被創建,因爲我需要先選擇treenode。
當您右鍵單擊dojo樹節點時,是否有任何方法選擇treenode?未選擇dojo樹節點時無法打開右鍵單擊菜單

+0

爲什麼你想這樣做實現這一目標? – Layke 2011-04-04 20:38:24

+0

問題是: 首先,我需要選擇樹節點,然後只打開右鍵單擊菜單。如果直接右鍵單擊樹節點,我不會獲得treenode範圍。因此,當選擇某個節點並且右對齊時點擊另一個treenode我得到所選節點的彈出式菜單,而不是所需節點。是否有解決此問題的解決方案? – harris 2011-04-05 07:13:40

回答

0

沒有現成的方法來做到這一點,但您可以通過添加事件處理程序按下鼠標

dojo.connect(this.tree, 'onMouseDown', lang.hitch(this,this.onTreeRightClick)); 

onTreeRightClick : function(event) 
{ 
    if(event.button=="2"){ 
     var node = dijit.getEnclosingWidget(event.target); 
     var nodes=this.tree.selectedNodes; 
     if(nodes.indexOf(node)>-1) 
      return;//if the node is already selected do not alter selected nodes. 
     this.tree._setSelectedNodeAttr(node); 
    } 
} 
相關問題