1
停止程序流程正如標題所說,我需要捕獲標籤的變化情況,並顯示給用戶的確認消息框。我實現了這個,但使用的確認 JS原生功能。我想執行此使用的ExtJS的Ext.Msg.show(),但程序流程不這樣停止,因爲它與確認功能一樣。看到兩個途徑如下:與Ext.Msg的ExtJS 4.1.1
「Ext.Msg.show()」的方式:
onBeforeTabChange: function(panel, nextTab, oldTab)
{
var bReturn = true;
if (null != oldTab)
{
if(AppGlobals.isEditing=='si')
{
Ext.Msg.show(
{
title: 'Warning',
msg: 'Leave without saving changes?',
buttons: Ext.Msg.YESNO,
icon: Ext.Msg.WARNING,
closable: false,
buttonText:
{
yes : 'Yes, sure',
no : 'No, will save changes first'
},
fn: function (buttonId)
{
if(buttonId=="yes")
{
AppGlobals.isEditing = 'no';
bReturn = true;
}
else
{
bReturn = false;
}
}
});
}
else
{
bReturn = true;
}
}
return bReturn;
}
正如我之前所說,上面的代碼不會停止程序流程。警報出現,但標籤更改無論如何。
「確認」的方式:
onBeforeTabChange: function(panel, nextTab, oldTab)
{
var bReturn = true;
if (null != oldTab)
{
if(AppGlobals.isEditing=='si')
{
bReturn = confirm('Leave without saving changes?');
if(bReturn==true)
{
AppGlobals.isEditing = 'no';
}
}
else
{
bReturn = true;
}
}
return bReturn;
}
上面的代碼做的工作,以及標籤不改變,直到「是」用戶點擊。
任何幫助?提前致謝。
偉大的!正是我需要的 – mauroave