道场& StackController / StackContainer

时间:2011-02-28 09:27:14

标签: javascript dojo

我正在使用StackContainer作为菜单,但我在stackcontainer中的“tabs”上附加自定义onclick事件时遇到问题。

我的应用程序基本上是这样布局的:

header
subheader
content

Header具有stackcontroller选项卡,内容显然显示内容。但是,当我单击标题中的任何选项卡元素时,我想运行一个相应更改子标题的函数。现在我该怎么做?内容切换效果很好,所以没有任何问题。

我正在使用ContentPanes作为标签元素,我试图直接点击它们,我尝试使用dojo.connect - 没有运气。我有jQuery和amp;的经验简单的JS,但我是一个道场新手,请原谅我,如果我错过了一些非常明显的事情:)

1 个答案:

答案 0 :(得分:2)

最简单的方法是使用内置于窗口小部件中的pub / sub机制。

在选择子项时,StackContainer将发布:

dojo.publish(this.id+"-selectChild", [page]);

其中page是要选择的子窗口小部件。

所以你应该使用:

dojo.subscribe(myStackId, function(/* dijit */ selectedChild) {
    // use the selectedChild to do what you want
});

顺便说一句,dijits提供了骆驼套装的标准化事件。所以你可以连接到dijit的onclick事件,但为了做到这一点,你应该使用'onClick'。但是,如果您使用此方法,则不一定能保证选择了孩子。

请参阅http://dojotoolkit.org/reference-guide/dojo/publish.html