dojo.connect VS <script type="dojo/connect"> (DojoML)

Posted

技术标签:

【中文标题】dojo.connect VS <script type="dojo/connect"> (DojoML)【英文标题】: 【发布时间】:2011-08-05 08:11:01 【问题描述】:

首先我想说我是 DOJO 世界的新手,可能对某些人来说 问题很愚蠢:)。但也有人说没有愚蠢的问题。 这是我的问题: 我有一个与 DojoML 相关的快速问题(更准确地说是&lt;script type="dojo/connect"&gt;)。 在这里的一个例子:http://dojotoolkit.org/reference-guide/dijit/Tree.html 我们得到了这样的东西: &lt;script type="dojo/connect"&gt; var menu = dijit.byId("tree_menu"); menu.bindDomNode(this.domNode); dojo.connect(menu, "_openMyself", this, function(e) var tn = dijit.getEnclosingWidget(e.target); menu.getChildren().forEach(function(i) i.attr('disabled', !tn.item.children); );

);&lt;/script&gt;

现在我想将它翻译成“传统”脚本。 正如我在这里读到的:http://dojocampus.org/content/2008/08/09/dojoml-the-best-thing-since-sliced-bread/ 这样的 DojoML 表示法可以翻译成:

dojo.connect(oMyTree, 'postCreate', null, function());

我的问题是这是否是正确的“翻译”,因为它根本不起作用。 我的目标是为每个 MyTree 的节点附加一个简单的右键菜单。

【问题讨论】:

这很简单 :) 我们只需要调用一次:oMenu.bindDomNode(oTree.domNode); 就是这样。 我读过一些我喜欢的地方。 【参考方案1】:

我读过一些我喜欢的地方。一旦包含它们的小部件被实例化,这种脚本就会运行。基本上会将一个额外的处理程序附加到 postCreate。但是,如果您这样做,您将删除默认的 postCreate 并运行您的 postcreate 处理程序。

【讨论】:

以上是关于dojo.connect VS <script type="dojo/connect"> (DojoML)的主要内容,如果未能解决你的问题,请参考以下文章

将 dojo.connect 与 dijit.WidgetSet 项一起使用时“应用不是函数”

GIS-005-Dojo事件处理

扩展库中的不可关闭对话框

传纸条(scrip)

jQuery scrip使H5可切换

为啥我不能在 Javascript 中滚动循环?