我有一个Kendo UI DatePicker。仅在IE中,当我打开它并点击月份时,日历正在重复(问题与Kendo datepicker shows two months during animation相同,但那里的答案对我不起作用):
当我使用IE的调试器从元素中删除box-sizing样式时,日历按预期工作:
我的问题有两个:
有谁知道为什么盒装大小会导致这种情况发生?
如何使用jQuery将此属性设置为空(或完全删除)?
我已尝试过这样做,但它并没有删除它:
$('.k-calendar-container').parent('.k-animation-container').css('box-sizing', '');
我还尝试将属性值从内容框更改为边框,并且在更改值时,它无法解决问题:
$('.k-calendar-container').parent('.k-animation-container').css('box-sizing', 'border-box');
答案 0 :(得分:1)
我找到的解决方案是直接通过样式表。但是,因为覆盖kendo.common.less(在控件中找到动画容器的位置)并不是一个好主意,我所做的就是编写我自己的文件来覆盖kendo样式表并仅包含需要调整的类:
kendo-override.less:
/* In the original kendo.common.less file, the class includes
box-sizing: content-box
This was causing IE kendo UI DatePicker
to duplicate the calendar when you clicked to change the month.
*/
.k-animation-container,
.k-animation-container *,
.k-animation-container *:after,
{
-webkit-box-sizing: content-box; // chrome
-moz-box-sizing: content-box; // firefox
}