未选择dojo树节点时无法打开右键单击菜单

未选择dojo树节点时无法打开右键单击菜单,dojo,dijit.tree,Dojo,Dijit.tree,我正在使用Dojo1.5。当我右键单击dojo树时,我的右键单击弹出菜单不会被创建,因为我首先需要选择树节点。 当您右键单击dojo树节点时,是否有任何方法可以选择树节点?没有现成的方法可以做到这一点,但您可以通过为鼠标下键添加事件处理程序来实现这一点 dojo.connect(this.tree, 'onMouseDown', lang.hitch(this,this.onTreeRightClick)); onTreeRightClick : function(event) {


我正在使用Dojo1.5。当我右键单击dojo树时,我的右键单击弹出菜单不会被创建,因为我首先需要选择树节点。

当您右键单击dojo树节点时,是否有任何方法可以选择树节点?

没有现成的方法可以做到这一点,但您可以通过为鼠标下键添加事件处理程序来实现这一点

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);
    }
}

为什么要这样做?问题是:首先我需要选择树节点,然后只打开我的右键单击菜单。如果我直接右键单击树节点,我没有得到treenode范围。因此,当选择某个节点并右键单击另一个treenode时,我会得到所选节点的弹出菜单,而不是所需节点的弹出菜单。是否有解决此问题的方法?