在使用extjs3.0的MessageBox时,碰到自适应宽度的问题,
案件重现:
1.先提示内容较长的信息
Ext.Msg.alert('内容比较长长长长长长长长长!');
2.再提示内容较短的信息
Ext.Msg.alert('内容有点短啊!');
3.再次提示内容较长的信息(信息长度至少比第2点的内容长时,出现换行)
Ext.Msg.alert('内容比第2点长就可以了!');
4.再次提示第1点的较长内容看看(跟第3一样出现换行)
按顺序从1-3弹出,其中第1和第2个msgbox窗口宽度都能够自适应,第3个和第4个msgbox的宽度却没有自适应文字宽度,而是出现文字换行。
网上的解决方法不多,1种为重新设置宽度,1种为修改源码,这两种都不适合我,最后自己对着api一个个遍历猜测,最终得下面的土方法:
Ext.onReady(function(){
var fixSpace = []; //用200个不换行的空格填充,撑宽宽度
for(var i=0; i<20; i++){
fixSpace.push("          ");
}
//取出msgbox的window,并在隐藏时,重新设置相当长的一段内容
//(这内容用其它能占位的字符代替也可以)
//因为Ext.Msg是单例对象,所以只要在onReady时加入下面的代码即可达到全局设置的效果
Ext.Msg.getDialog().on("hide", function(self){
Ext.Msg.updateText(fixSpace.join(""));
});
});
由于阅读源码对于我实在难度过大,所以只能以此土方法治标;
如果有更好的方法,欢迎留言给我
- 大小: 7.9 KB
- 大小: 5.8 KB
- 大小: 7 KB
- 大小: 6.3 KB
分享到:
相关推荐
extJS3.0 extJS3.0 extJS3.0 extJS3.0 extJS3.0 extJS3.0 extJS3.0
绝对的ExtJS3.0中文API,本人在网上找了好久才找到的,在此奉献给大家!!解压后有30多兆!!
ExtJS3.0 源码分析与开发实例宝典
Extjs3.0中文API文档 够详细 够详细 够详细
extjs3.0框架extjs3.0框架extjs3.0框架extjs3.0框架
由于extjs3.0自己封装的时间不能够选择时分秒,给大家开发带来了一些麻烦。虽然网上有ext2.0的日期扩展控件,但在3.0中不能用。公司现在项目正用了,因此我就对extjs3.0时间控件的扩展,实现了可选择时分秒功能。...
1、Extjs3.0 常用组件介绍ppt 2、怎样安装开发利器Spket 3、Spket安装包
在网络上搜集,自己安装成功后在使用的开发环境。因ExtJS3.0和spket-1.6.18.jar的开发包太大不能上传,里面有安装说明和下载路径 ext-jsb2.zip jsb2是最新的。。请所需者取之
ExtJs3.0API,希望对大家有所帮助
extjs3.0开发包包含api、例子、源文件等,简单易用,
ExtJS 3.0 学习资源,有兴趣的 可以下载看看!!!!
项目中遇到Extjs3.0在IE9中不兼容,现有两种解决方法
extjs框架,学习,开发,extjs3.0开发包以及文档
ExtJS 3.0 API 文档离线包,
真正的ExtJS 3.0可视化开发工具,支持WebUI和Code可视化设计.
ExtJSweb 开发指南中的 简单图书管理系统 ExtJS3.0+spring+hibernate+struts
EXT登陆,整合STRUTS2,SPRING,IBATIS,EXTJS3.0,详细的请看看代码,因为jar包较大,暂不加jar包。的请看看代码,因为jar包较大,暂不加jar包
extjs3.0中英文对照chm api
深入浅出 Extjs3.0 中文文档,深入浅出 Extjs3.0 中文文档
extjs3.0.chm API extjs3.0.chm API extjs3.0.chm API extjs3.0.chm API