Dojo Menu.bindDomNode() 不是函数
Posted
技术标签:
【中文标题】Dojo Menu.bindDomNode() 不是函数【英文标题】:Dojo Menu.bindDomNode() is not a function 【发布时间】:2015-07-01 16:19:31 【问题描述】:我正在编写一个简单的 dojo 菜单并尝试将其附加到 Dijit.Tree 节点,该节点受单击处理程序的影响。有人可以帮忙吗?我收到了错误:
> Uncaught TypeError: nodeControlMenu.bindDomNode is not a function(anonymous function)
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);
);
【问题讨论】:
您使用的是哪个版本的道场?它看起来像 我用的是最新的。代码看起来是这样的,因为我找不到很多教程或书籍,所以我一直在零零碎碎地度过。很遗憾,我知道。 我认为这个 api 可能是旧的。对不起。 你能告诉我最近的吗? 如果你使用最新版本的dojo,即1.10,你应该直接使用它。 dojo.connect 已弃用,您应该改用“dojo/on”。您的代码将如下所示: on(tree,"Click",function(....)); 【参考方案1】:您对 bindDomNode
的调用是多余的 - 有效地指定 targetNodeIds
does the same thing。
但是,这并不能解释为什么您的代码声称 bindDomNode
不是函数,因为它肯定是在 dijit/Menu
的原型上定义的。如果没有给出进一步的上下文,我会怀疑您可能有一些不匹配的依赖项和工厂函数参数名称?
【讨论】:
以上是关于Dojo Menu.bindDomNode() 不是函数的主要内容,如果未能解决你的问题,请参考以下文章