`

Ext.form.DateField在chrome、safari下显示异常的解决方法

阅读更多

最近在用extjs的DateField控件的时候,总是出现时间空间显示的时候宽度占满了整个屏幕,后来发现这个extjs在chrome下面的一个bug。

 

解决方式一:

在js中添加一下语句

 

 if(Ext.isChrome===true){       
        var chromeDatePickerCSS = ".x-date-picker {border-color: #1b376c;background-color:#fff;position: relative;width: 185px;}";
        Ext.util.CSS.createStyleSheet(chromeDatePickerCSS,'chromeDatePickerStyle');
    }

 

 

解决方式二:

在js中重写DateMenu

<script>
//Extjs2.2.1 DateField 变形的问题
// IE
Ext.isIE9 = Ext.isIE && navigator.userAgent.indexOf('MSIE 9')!=-1;
Ext.isIE10 = Ext.isIE && navigator.userAgent.indexOf('MSIE 10')!=-1;
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 && !Ext.isIE9 && !Ext.isIE10) {
            el.setWidth(this.minWidth);
            var t = el.dom.offsetWidth;
            el.setWidth(ul.getWidth() + el.getFrameWidth("lr"));
        }
    }
});
// chrome
Ext.override(Ext.menu.DateMenu, {  
    render : function() {  
        Ext.menu.DateMenu.superclass.render.call(this);  
        if (Ext.isGecko || Ext.isSafari || Ext.isChrome) {  
            this.picker.el.dom.childNodes[0].style.width = '178px';  
            this.picker.el.dom.style.width = '178px';  
        }  
    }  
}); 
</script>

 

 

 

 

 

分享到:
评论

相关推荐

    Ext.form表单中各种属性应用详解

    1. Ext.form.NumberField 2. Ext.form.TextArea 3. Ext.form.TriggerField 4. Ext.form.DateField 5. Ext.form.ComboBox 6. Ext.form.TimeField

    Ext DateField控件 - 只选择年月

    NULL 博文链接:https://newlethe.iteye.com/blog/814634

    Ext-datatimefield日期与时间选择器精确至时分秒

    1.此控件支持Ext3.2及以上版本 2.用法与Ext.form.DateField一样,xtype:'datetimefield' 3.不需要导入css或其他js 4.解决某些插件导入会显示对象未定义问题

    Ext Extjs 禁止文本和日期编辑

    Ext Extjs 禁止文本和日期编辑 ExtJS中动态设置TextField的readOnly属性

    Ext扩展dateField时间控件,可以选择年月日、年月、年、月

    Ext扩展dateField时间控件,可以选择年月日、年月、年、月

    EXT核心API详解

    53、Ext.form.DateField类 ………… 45 54、Ext.form.ComboBox类 ……………… 46 55、Ext.form.TimeField类 ………… 47 56、Ext.menu.Menu类 ………………… 50 57、Ext.menu.BaseItem类 …………… 50 58、Ext....

    ExtJS入门教程(超级详细)

    53、Ext.form.DateField类 ………… 45 54、Ext.form.ComboBox类 ……………… 46 55、Ext.form.TimeField类 ………… 47 56、Ext.menu.Menu类 ………………… 50 57、Ext.menu.BaseItem类 …………… 50 58、Ext....

    ExtJs 带清空功能的日期组件

    ExtJs 的日期控件不带清空功能,项目有可能需要一个带清空功能的日期控件。

    Ext Js权威指南(.zip.001

    3.3 在chrome中调试 / 84 3.4 调试工具的总结 / 84 3.5 调试技巧 / 85 3.6 本章小结 / 89 第4章 ext js的基础架构 / 90 4.1 ext js框架的命名空间:ext / 90 4.1.1 概述 / 90 4.1.2 apply和applyif方法 / 90...

    Extjs学习笔记之三 extjs form更多的表单项

    可以通过如下代码新建一个日期选择框: 代码如下: new Ext.form.DateField({ id: ‘diliveryDate’, format: ‘Y年m月d日’, maxValue: new Date(), minValue: ‘1900-01-01’, disabledDays: [0, 6], ...

    解决datefield组件 日期选择框在IE8下显示不完整的问题

    extjs中,经常会用到datefield组件控制用户对日期的操作,比如日志管理,需要开始时间、结束时间,但是IE8下日期选择框会显示不全,解决方法参加代码。 同时改代码解决了开始时间、结束时间的时间范围控制的问题,即...

    Ext日期控件显示农历,及其周末高亮显示

    先有两种实现方式,一为重写Date.DatePicker和Ext.form.DateField控件的相应方法、另一种为单独做一个扩展扩建。 本JS文件在Ext3.1测试通过、若果要在高版本中使用,可参照例子重写相应源码的方法即可。

    精通JS脚本之ExtJS框架.part1.rar

    7.2.6 日期输入控件Ext.form.DateField 7.2.7 在线编辑器Ext.form.HtmlEditor 7.3 ExtJS表单组件的综合应用 第8章 设计表格类布局 8.1 表格简介 8.1.1 表格的基本属性 8.1.2 制作第一个表格 8.2 表格常用功能...

    extjs DateField完全操作

    考虑到extjs DateField的关键配置和主要操作

    精通JS脚本之ExtJS框架.part2.rar

    7.2.6 日期输入控件Ext.form.DateField 7.2.7 在线编辑器Ext.form.HtmlEditor 7.3 ExtJS表单组件的综合应用 第8章 设计表格类布局 8.1 表格简介 8.1.1 表格的基本属性 8.1.2 制作第一个表格 8.2 表格常用功能...

    为EXT写的月份选择控件

    往往是需要修改源码的方法,如: 修改Ext.DatePicker使得Ext.form.DateField只选择年月 等,但是修改源码有个不好的地方,如果ext升级了,又需要改一次,很不方便.干脆,就重写了一个月份选择控件.使用接口和DateField类似,...

    extjs4.2日期控件datefield拓展加上选择时分秒功能

    在ExtJs4.2表单控件里分别有个时间控件(datafield)和时间控件(timefield),但是官方提供的控件不能将日期和时分秒整合到一起,我从网上搜集整理了一个可用的选择日期时分秒的拓展控件,extjs版本是4.2,亲测能用,...

    Ext 表单布局实例代码

    //第二句的目的就是设置控件的错误信息显示位置,主要可选的位置有: var tdate = new Ext.form.DateField({ fieldLabel: ‘日期’, emptyText: ‘请选择日期’, format: ‘Y-m-d’, disabledDays: [0, 7] });...

    Extjs中DisplayField的日期或者数字格式化扩展

    当然我们可以使用 Ext.form.TextField,然后设置成 ReadOnly,不过这样子的显示效果不是很好,因为始终会有个输入框。所以我们必须使用 Ext.form.DisplayField,但是 Ext.form.DisplayField 没有一个format的属性,...

    ComboBox 和 DateField 在IE下消失的解决方法

    前言 作为Ext JS 的基本的Form 的组件, 这两个没有什么难的地方。... 这里使用的 是纯html的form 和 input, 再使用Ext js 把 input render 成 Combobox 和 DateField. 说一下 combobox 产生的机制

Global site tag (gtag.js) - Google Analytics