`

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表单中各种属性应用详解

    **Ext.form.DateField** 是一个日期选择器,继承自 **Ext.form.TriggerField**,专门用于日期的选择和输入。 - **altFormats**: 类型为 `String`,定义用于解析用户输入的其他日期格式,默认为 `'m/d/Y|m-d-y|m-d-Y...

    EXT.form组件

    EXT.form组件的事件处理也很重要,例如`Ext.form.TriggerField`的`onTriggerClick`事件,会在用户点击触发按钮时触发,通常用于执行下拉菜单的显示或隐藏操作。 EXT.form组件的灵活性和丰富性使得开发者可以轻松地...

    Ext DateField控件 - 只选择年月

    1. **类定义**:创建一个新的DateField子类,可能命名为`MonthPicker`,继承自Ext.form.field.DateField。 2. **配置项**:定义新的配置选项,如`allowOnlyMonthYear`,用于开启只选择年月模式。 3. **模板修改**:...

    ExtJs 带清空功能的日期组件

    DateField是Ext.form.field.Date的实例,它继承自Ext.form.field.Text。DateField提供了一个日期选择器,允许用户通过日历图标选择日期,或者直接在文本框中输入日期。默认情况下,它会按照指定的格式显示和验证日期...

    Ext Extjs 禁止文本和日期编辑

    在Ext JS这个强大的JavaScript框架中,开发者经常使用各种组件来构建富客户端应用,其中包括TextField(文本字段)和DatePicker(日期选择器)。有时,我们可能需要根据应用需求在运行时禁用这些组件的编辑功能,...

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

    在本文中,我们将深入探讨`Ext`框架中的`dateField`扩展,特别是在允许用户选择不同时间范围方面的能力,如年月日、年月、年或仅月。`Ext`是Sencha公司开发的一个强大的JavaScript应用框架,常用于构建富客户端Web...

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

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

    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....

    Ext组件描述,各个组件含义

    **2.19 Date Field (Ext.form.DateField)** - **xtype**: `datefield` - **功能描述**:Date Field 是一个用于输入日期的文本框。 - **主要用途**:适用于需要用户输入日期的场景。 **2.20 Field (Ext.form.Field)...

    Ext DateField控件 - 只选择年月插件

    总结来说,"Ext DateField控件 - 只选择年月插件"是一个方便易用的工具,能够帮助开发者在Ext JS应用程序中实现更精细的日期选择功能,专注于年月的选取,从而满足特定场景下的用户需求。通过合理地配置和集成,你...

    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....

    ext_表单提交_数据校验

    在Ext JS框架中,`Ext.form.TextField`是一种用于收集用户输入的基本控件,它提供了丰富的配置选项来实现数据校验。例如,在示例中,通过设置`allowBlank: false`,确保了字段不允许为空;`emptyText`定义了当字段为...

    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_xtype一览

    - `datefield`:`Ext.form.DateField`,日期选择输入框。 - `timefield`:`Ext.form.TimeField`,时间输入框。 - `field`:`Ext.form.Field`,表单的基础字段。 - `fieldset`:`Ext.form.FieldSet`,用于组织...

    EXT from培训教材

    2. **日期字段**:使用`Ext.form.DateField`创建,用于选择日期。例如: ```javascript new Ext.form.DateField({ fieldLabel: 'Hire Date', name: 'hire_date', width: 90, allowBlank: false, // 不允许为空 ...

    Extjs fieldset两行两列布局

    - 在设置`ComboBox`或`DateField`时,可以根据具体需求调整样式和其他属性。 #### 五、代码示例总结 ```javascript var setsc = new Ext.form.FieldSet({ title: 'fieldset', // 设置FieldSet的标题 height: 80,...

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

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

    ext 的ppt ext 的ppt ext 的pptext 的pptext 的ppt

    在创建Ext Form时,有两种基本的方法。方法一是通过直接实例化TextField对象,然后将其添加到FormPanel中。例如: ```javascript var textfield = new Ext.form.TextField({ fieldLabel: ' 用户名 ', emptyText: ...

    ExtJs组件类的对应表

    4. **`datefield`** - `Ext.form.DateField`,日期选择项,用于输入日期。 5. **`timefield`** - `Ext.form.TimeField`,时间录入项,用于输入时间。 6. **`field`** - `Ext.form.Field`,表单字段基类,所有...

Global site tag (gtag.js) - Google Analytics