Dojo 1.1:离开/切换标签时的事件?

时间:2012-08-28 05:34:04

标签: javascript dojo

我们必须使用旧的Dojo版本1.1.x,我们的问题是找到更改Tab时触发的事件(用户离开选项卡)。

场景:选项卡中有一个表单,数据被编辑,选项卡没有保存,现在我们正在寻找一种方法来阻止这种情况。

    dojo.connect(this.myTabPoint, "onShow", function(evt){
        alert('X');
    });

工作正常,但我们必须对每个其他标签实施检查(;

1 个答案:

答案 0 :(得分:1)

在Dojo 1.1.2中,_hideChild(/*Widget*/ page)中有一个方法dijit.layout.StackContainer(即dijit.layout.TabContainer的超类),它将调用页面/标签的onHide方法(例如ContentPane)如果存在。

问题是onHide中没有dijit.layout.ContentPane方法,因此您应该在代码的某个位置向ContentPane添加onHide存根方法:

dojo.extend(dijit.layout.ContentPane, {
    onHide: function() {
        // stub method
    }
});

然后,您需要做的就是在特定标签/ ContentPane上dojo.connectonHide方法:

dojo.connect(dijit.byId("tab1"), "onHide", function() {
    console.log("tab1 is hidden now");
});