EXTJS中 DateField 显示一半的解决方法

只显示了一半,巨郁闷。

在网络上查了一下是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' />


 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值