开发者

How do i call a function when a tab is selected in a dojo tab container?

I have a tab container with tabs, that depending on what tab is selected, i would like a function to run. I have already created the function in Java Script, that will either Hide or Display a window. The function works fine. How do i tell the tabs to run this function? In the code below, i show in the "Contents" of a tab, a function intitled "hidediv". I also have a function called "showdiv". I want to remove it from the contents, and h开发者_JAVA百科ave it run automatically when the tab is selected. any suggestions? I do not want it to affect the contents of the tab at all.

Thank you!

            <div dojoType="dijit.layout.ContentPane" title="Setup">
            <a href="javascript:hidediv()">Hide div</a> 
            </div>


This is well described in the reference guide.

Basically, if your TabContainer has id "myTabs", you can do:

dojo.subscribe("myTabs-selectChild", function(selected){
    // Do whatever you need here, hidediv() etc..
    console.log(selected.title);
});

Edit: If you only want something triggered for a particular tab, you can check the title inside the function:

dojo.subscribe("myTabs-selectChild", function(selected){
    if(selected.title == "Setup")
    {
       hidediv();
    }
});

Perhaps a more elegant way to do it, is to use the ContentPane's onShow event, for example like this:

<div dojoType="dijit.layout.ContentPane" title="Setup"
     onShow="hidediv">
     <!-- Content -->
</div>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜