我正在编写一个简单的dojo菜单,并尝试将其附加到Dijit.Tree节点,该节点受单击处理程序的约束。有人可以帮忙吗?我遇到了错误:

>未捕获的TypeError:nodeControlMenu.bindDomNode不是函数(匿名函数)

dojo.connect(tree, 'onClick', function(item, node, event){

    var addNodeMenuItem = new MenuItem({
        label : "Add Node"
    });
    var removeNodeMenuItem = new MenuItem({
        label : "Remove Node"
    });

    var nodeControlMenu = new Menu({
        targetNodeIds : [node]
    });


    nodeControlMenu.addChild(addNodeMenuItem);
    nodeControlMenu.addChild(removeNodeMenuItem);
    nodeControlMenu.bindDomNode(node);
});

最佳答案

您对bindDomNode的调用是多余的-有效地does the same thing指定targetNodeIds

但是,这并不能解释为什么您的代码声称bindDomNode不是函数,因为它肯定是在dijit/Menu的原型上定义的。如果没有进一步的说明,我可能会怀疑您是否存在一些不匹配的依赖项和工厂函数参数名称?

09-27 10:13