只显示了一半,巨郁闷。
在网络上查了一下是IE8的问题,说需要执行一堆JS。
解决方案:
放到DateField控件调用之前就可以。(或放到ext-all.js中)
1. Ext.isIE8 = Ext.isIE && navigator.userAgent.indexOf('MSIE 8') != -1; //这句一定要加,如果版本不支持isIE8属性的话
2. Ext.override(Ext.menu.Menu, {
autoWidth: function () {
var el = this.el, ul = this.ul;
if (!el) {
return;
}
var w = this.width;
if (w) {
el.setWidth(w);
} else if (Ext.isIE && !Ext.isIE8) { //Ext2.1.1 支持 Ext.isIE8 属性
el.setWidth(this.minWidth);
var t = el.dom.offsetWidth;
el.setWidth(ul.getWidth() + el.getFrameWidth("lr"));
}
}
});
后来试了一下,不行。
仔细分析后认为是页面的HTML写的问题。
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv='X-UA-Compatible' content='IE=EmulateIE8' />
我删除第一行后,界面显示正常,万恶的IE,自己搞这么多标准。最后HTML如下:
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<meta http-equiv='X-UA-Compatible' content='IE=EmulateIE8' />