0

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

场景:Tab 里面有一个 Form,数据被编辑,tab 没有保存,现在我们正在寻找一种方法来防止这种情况。

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

工作正常,但是我们必须在每个其他选项卡上实施检查 (;

4

1 回答 1

1

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

问题是 中没有onHide方法dijit.layout.ContentPane,因此您应该onHide在代码早期的某处将存根方法添加到 ContentPane:

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

然后,您需要做的就是dojo.connectonHide特定选项卡/ContentPane 上执行方法:

dojo.connect(dijit.byId("tab1"), "onHide", function() {
    console.log("tab1 is hidden now");
});
于 2012-08-28T07:54:14.847 回答