Ext.Msg.alert要注意的问题
我们先看看API中关于Ext.Message的中的描述:
Note that theMessageBox is asynchronous. Unlike a regular JavaScript alert
(whichwill halt browser execution), showing a MessageBox will not cause the code tostop. For this reason, if you have code that should only run aftersome user feedback from the MessageBox, you must use a callback function (seethe function
parameter for show for more details).
这里要我们注意Ext的MessageBox是异步,和JS的alert是不同,JS的alert执行的时候会挂起代码,不继续执行,而Ext的MessageBox是会继续执行的。所以有时候我们会看到MessageBox会闪一下就过去了。如何解决这个问题呢?其实很简单。
我们看看MessageBox中alert的定义:
alert( Stringtitle
,String msg
, [Functionfn
], [Object scope
] ) : Ext.MessageBox
注意第三个参数没有?是一个函数。我们看看函数的说明:
· fn : Function
(optional) Thecallback function invoked after the message box is closed
是窗口关闭后执行的回调函数。
呵呵,解决办法出来了,就是将后续的执行动作放到这个函数里,等窗口关闭后继续执行。