簡體   English   中英

當我使用Ext.Msg對象時,為什么只顯示一條警報消息?

[英]Why only one alert message is displaying when I am using Ext.Msg object?

在我的ExtJs應用程序中,我使用Ext.Msg對象創建了兩個警報消息以及一個普通的Java腳本警報。 下面是代碼。

Ext.onReady(function(){
    Ext.Msg.alert("Alert One");
    Ext.Msg.alert("Alert Two");
    alert("Alert Three");
});

運行此代碼后,我發現瀏覽器首先顯示正常警報消息,然后顯示第二個Ext JS警報消息。 它沒有填充第一個Ext JS警報消息

所以我的問題是

  1. 為什么先填充普通的Java腳本警報?
  2. 為什么它沒有填充1st Ext JS警報消息?

難道我做錯了什么? 如果不是,那為什么會這樣呢? 請幫我。

Ext.Msg.alert方法不會阻止javascript代碼的執行。 這意味着在第一個Ext.Msg.alert顯示腳本執行繼續之后,打開第二個Ext警報。 根據其工作方式,一次只能顯示一個警報消息實例,因此第二個警報消息將簡單地覆蓋第一個警報消息。

就本機alert功能而言,它的工作原理完全不同。 它阻止UI並停止后續腳本執行。 您可以看到它,因為它是在任何其他頁面布局上呈現的。 這就是為什么即使顯示了Ext警報,本機瀏覽器警報仍然會覆蓋它的原因。

Ext.MessageBox是單例,因此您不能創建多個單獨的實例。 演示這一點如果您要延遲顯示第二個,例如說5秒鍾,則會看到第一個出現。 例如

Ext.Function.defer(function(){
    Ext.MessageBox.alert("message two");
}, 5000);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM