2011-04-04 52 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); 
    } 
}