Javascript Dojo Menu.bindDomNode()不是函数
我正在编写一个简单的dojo菜单,并尝试将其附加到Dijit.Tree节点,该节点受单击处理程序的约束。有人能帮忙吗?我得到了一个错误: >未捕获类型错误:nodectrolmenu.bindDomNode不是函数(匿名函数)Javascript Dojo Menu.bindDomNode()不是函数,javascript,jquery,html,debugging,dojo,Javascript,Jquery,Html,Debugging,Dojo,我正在编写一个简单的dojo菜单,并尝试将其附加到Dijit.Tree节点,该节点受单击处理程序的约束。有人能帮忙吗?我得到了一个错误: >未捕获类型错误:nodectrolmenu.bindDomNode不是函数(匿名函数) 对bindDomNode的调用是多余的-有效地指定targetNodeIds 然而,这并不能解释为什么您的代码声称bindDomNode不是一个函数,因为它肯定是在dijit/Menu的原型上定义的。如果没有给出进一步的上下文,我会怀疑您可能有一些不匹配的依赖项和工厂函数
对
bindDomNode
的调用是多余的-有效地指定targetNodeIds
然而,这并不能解释为什么您的代码声称
bindDomNode
不是一个函数,因为它肯定是在dijit/Menu
的原型上定义的。如果没有给出进一步的上下文,我会怀疑您可能有一些不匹配的依赖项和工厂函数参数名称?您对bindDomNode
的调用是多余的-有效地指定targetNodeIds
然而,这并不能解释为什么您的代码声称
bindDomNode
不是一个函数,因为它肯定是在dijit/Menu
的原型上定义的。如果没有给出进一步的上下文,我怀疑您可能有一些不匹配的依赖项和工厂函数参数名称?您使用的是什么版本的dojo?看起来我用的是最新的。代码看起来是这样的,因为我找不到太多的教程或书籍,所以我一直过着零零碎碎的生活。真遗憾,我知道。我认为这个api可能太旧了。对不起,你能给我指一下最近的版本吗?如果你使用最新版本的dojo,也就是1.10,你应该使用strikt。不推荐使用dojo.connect,您应该改用“dojo/on”。然后,您的代码如下所示:在(树上,“单击”,函数(..){};您使用的是什么版本的dojo?看起来我用的是最新的。代码看起来是这样的,因为我找不到太多的教程或书籍,所以我一直过着零零碎碎的生活。真遗憾,我知道。我认为这个api可能太旧了。对不起,你能给我指一下最近的版本吗?如果你使用最新版本的dojo,也就是1.10,你应该使用strikt。不推荐使用dojo.connect,您应该改用“dojo/on”。然后,您的代码如下所示:在(树上,“单击”,函数(..){};
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);
});