我们必须使用旧的 Dojo 版本 1.1.x,我们的问题是找到一个在选项卡更改时触发的事件(用户离开选项卡)。
场景:Tab 里面有一个 Form,数据被编辑,tab 没有保存,现在我们正在寻找一种方法来防止这种情况。
dojo.connect(this.myTabPoint, "onShow", function(evt){
alert('X');
});
工作正常,但是我们必须在每个其他选项卡上实施检查 (;
我们必须使用旧的 Dojo 版本 1.1.x,我们的问题是找到一个在选项卡更改时触发的事件(用户离开选项卡)。
场景:Tab 里面有一个 Form,数据被编辑,tab 没有保存,现在我们正在寻找一种方法来防止这种情况。
dojo.connect(this.myTabPoint, "onShow", function(evt){
alert('X');
});
工作正常,但是我们必须在每个其他选项卡上实施检查 (;
_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.connect
在onHide
特定选项卡/ContentPane 上执行方法:
dojo.connect(dijit.byId("tab1"), "onHide", function() {
console.log("tab1 is hidden now");
});