首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Dijit TabContainer Events - onFocus

Dijit TabContainer Events - onFocus
EN

Stack Overflow用户
提问于 2011-08-31 20:04:03
回答 3查看 5.8K关注 0票数 2

我有一个Tab容器,当我单击选项卡的标题栏时,我想执行一些js。

我似乎想不出如何在其中添加一个事件。

编辑:

看起来我将使用onFocus,但我仍然很难找到正确的语法。

编辑:找到了onFocus和onBlur,但仍然很难让它工作。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-01 07:34:10

您需要连接到_transition事件。

代码语言:javascript
复制
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。

票数 2
EN

Stack Overflow用户

发布于 2013-02-21 07:38:26

下面是一个在Dojo1.8中工作的完整代码示例,我已经对它进行了测试:

代码语言:javascript
复制
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);  
        });
    });
});
票数 1
EN

Stack Overflow用户

发布于 2013-06-06 06:11:01

正确的Dojo 1.7+应该是;

代码语言:javascript
复制
var tabs = registry.byId('someTabs');
tabs.watch("selectedChildWidget", function(name, oval, nval){
    console.log("selected child changed from ", oval, " to ", nval);
});

另一种方式可能是

代码语言:javascript
复制
var tabs = registry.byId('someTabs');
aspect.after(tabs, "selectChild", function (event) {
     console.log("You selected ", tabs.selectedChildWidget.id);
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7262740

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档