extjs  为什么同时Ext.Msg.alert()的时候只显示最后一个?就是当
Ext.Msg.alert('1','1');
Ext.Msg.alert('2','2');
的时候只显示第二个怎么解决?

解决方案 »

  1.   

    后面的将前面的覆盖了,它们都是用div模拟的
      

  2.   

    Ext.Msg  实际上是Ext.MessageBox,一个MessageBox对应Html中的一个元素,因为是通过单例方式调用,后面会讲前面的覆盖掉
      

  3.   

    对,是覆盖了。只是位置都一样,所以看了像一个;要解决可以改下alert,弹出的时候。得到下一个alert的
    left、top设置位置;如果第一个alert为null、undefined就设置默认最中间的位置
      

  4.   

    Ext.Msg.alert()是异步方法,因此会执行后面的代码,可以使用javascript的alert()的方法代替,这个方法是同步的,不会执行后面的代码。
      

  5.   

    点击按钮回调中执行后面的就可以了
    Ext.Msg.alert('1','1',function(){Ext.Msg.alert('2','2');});
      

  6.   

    在实际项目中,这种情况应该很少用吧,如要真要这样用像楼上所说的,用alert()吧。或者让两个弹出框的位置隔开一些。
      

  7.   

    这个可行啊。。
    还有Ext.Msg这个是EXTJS 的全局对象,所以2个alert并不是覆盖吧,而是重构弹出框的内容吧。。
    所以建议使用7楼的了或者像用同步的话就应JS的alert