Dijit.menu如何找出点击了哪个节点

时间:2011-12-26 12:23:31

标签: dojo

我将dijit.Menu连接到许多节点:

      var result = dojo.query(".progMenu");

       pMenu = new dijit.Menu({
            targetNodeIds:result
       });

当我从结果中点击一个节点时,会显示菜单 当我从显示的菜单中选择一些项目时,我想找出点击结果数组中的哪个节点。

2 个答案:

答案 0 :(得分:2)

   var result = dojo.query(".progMenu");

   var pMenu = new dijit.Menu({
            targetNodeIds:result,
            onClick: function(event) {
               var node = event.target;
            }
       });

答案 1 :(得分:1)

那样的东西呢?

pMenu = new dijit.Menu({});

dojo.query(".progMenu").forEach(function(node){
    pMenu.addChild(new dijit.MenuItem({
        onClick: function(){
            // do some behaviour, and access node with "node"
            console.log("my node : ", node);
        }
    }, node));
}, this);

不确定代码是否正常工作,但它只是给你一个提示。 它也可能取决于你的dojo版本!

希望这会有所帮助:)