ExtJS DateField渲染得太宽,IE8中的错误?

时间:2014-01-06 17:12:36

标签: javascript extjs internet-explorer-8

我遇到了一个我似乎无法找到解决方案的错误。在IE8中,日期字段组件呈现得太宽(在PHP和委托中设置的默认值200之外)。所有其他浏览器和新的IE版本都很好。该字段为183px,日历触发器为17px。但是在IE8中,该字段呈现为199px,这导致按下下方的日历触发器,因为整个字段的最大宽度为200px

Bug in IE8

ExtJS版本是4.0.5,仅供参考。

想出为什么会这样?任何帮助,将不胜感激。谷歌和Sencha论坛没有多大帮助。

以下是我们创建日期字段实例的位置:

this.DateComponent = Ext.create(this.GetEXTJSClass(),Object.extend(this.GetConfigProperties(), {
    id: this._Type+'_'+this.FieldName,
    value: this.SelectedDate,
    disabledDays: this.DisallowWeekends,
    width: aOptions.width || 200,
    bodyPadding: 10,
    renderTo: aOptions.renderTo || this.ID,
    format: this.DayBeforeMonth ? "d/m/Y" : "m/d/Y",
    showToday: this.ShowToday,
    allowableYears: this.GetAllowableYears(),
    validateOnBlur: false,
    todayText: this.TodayText,      // not supported configuration option, passed through overridden createPicker method
    listeners: this.GetListeners()
}));

修改 作为旁注,我想也许我们可能会在某些自定义文件中覆盖CSS并且在检查之后 - 事实并非如此。此外,由于IE9-11以及FF,Chrome,Safari都能正确呈现它。我怀疑这是IE8的错误,或者我们正在做的事情在IE8中不受支持。

1 个答案:

答案 0 :(得分:0)

我建议覆盖更改IE8的css类以解决此问题:

<!--[if IE 8]>
 //Add your css file here ie: ie8.css
<![endif]-->

您可以在此处找到附加帮助:

CSS for IE 8 Only