我有一个Tab容器,当我单击选项卡的标题栏时,我想执行一些js。
我似乎想不出如何在其中添加一个事件。
编辑:
看起来我将使用onFocus,但我仍然很难找到正确的语法。
编辑:找到了onFocus和onBlur,但仍然很难让它工作。
发布于 2011-09-01 07:34:10
您需要连接到_transition事件。
var tabs = dijit.byId("tabs");
dojo.connect(tabs,"_transition", function(newPage, oldPage){
console.log("I was showing: ", oldPage || "nothing");
console.log("I am now showing: ", newPage);
});“选项卡”是您的TabContainer。
发布于 2013-02-21 07:38:26
下面是一个在Dojo1.8中工作的完整代码示例,我已经对它进行了测试:
require(["dijit/registry", "dojo/on", "dojo/ready", "dojo/domReady!"], function (registry, on, ready) {
ready(function () { //wait till dom is parsed into dijits
var panel = registry.byId('mainTab'); //get dijit from its source dom element
on(panel, "Click", function (event) { //for some reason onClick event doesn't work
alert(panel.selectedChildWidget.id);
});
});
});发布于 2013-06-06 06:11:01
正确的Dojo 1.7+应该是;
var tabs = registry.byId('someTabs');
tabs.watch("selectedChildWidget", function(name, oval, nval){
console.log("selected child changed from ", oval, " to ", nval);
});另一种方式可能是
var tabs = registry.byId('someTabs');
aspect.after(tabs, "selectChild", function (event) {
console.log("You selected ", tabs.selectedChildWidget.id);
});https://stackoverflow.com/questions/7262740
复制相似问题