Dojo的TabContainer是常用的Dojo的控件,切换标签时常常需要触发一些自定义的事件,但是Dojo本身居然没有提供OnSwitch的事件,让人火大。研究了半天,搞定了。
首先找到TabContainer控件以及其中需要捕捉切换的标签的Dijit对象,如:
<div dojoType="dijit.layout.TabContainer" id="tabContainer" style="width:100%;height:550px" tabStrip="true">
<div dojoType="dijit.layout.ContentPane" id="dbTab" title="DB Config" selected="true">
</div>
<div dojoType="dijit.layout.ContentPane" id="schemaTab" title="Schema Config">
</div>
</div>
中的dbTab标签,
var tabContainer = dijit.byId("tabContainer");
var dbTab = dijit.byId("dbTab");
然后增加标签的点击事件,
dbTab.controlButton.onClick = function(){
}
由于这个事件覆盖了Dojo自己的切换事件,因此要增加一行切换标签的标准动作,
dbTab.controlButton.onClick = function(){
tabContainer.selectChild(dbTab);
// TO DO
}
OK,然后在TO DO的地方就可以写你希望的处理函数了