0

我有一个页面,其中包含两个文本框,其中添加了 jquery datepicker 通过

function setDatepickers() {
$('.datepicker').datepicker();
$('.datepicker').attr('date', 'date');
}

页面底部有文本框,我们需要稍微向下滚动才能看到文本框。当我点击文本框时,它会打开日期选择器,但它位于不同的垂直位置,比如有时在输入文本框上方一点,有时我需要向上滚动才能看到日期选择器。这仅在 IE8 中发生,而不在 Firefox 中发生。Firefox 3.6.3 显示它完美,几乎附加到输入文本框。

使用的jquery版本有:jquery v1.4.1 jquery UI 1.8.5

我试图从其中的 checkoffset 方法中获取值,并发现以下结果:

        _checkOffset: function (a, c, d) {
        var f = a.dpDiv.outerWidth(),
        j = a.dpDiv.outerHeight(),
        k = a.input ? a.input.outerWidth() : 0,
        l = a.input ? a.input.outerHeight() : 0,
        m = document.documentElement.clientWidth + b(document).scrollLeft(),
        o = document.documentElement.clientHeight + b(document).scrollTop();
        alert(j); alert(k); alert(l); alert(m); alert(o);
        c.left -= this._get(a, "isRTL") ? f - k : 0;
        c.left -= d && c.left == a.input.offset().left ? b(document).scrollLeft() : 0;
        c.top -= d && c.top == a.input.offset().top + l ? b(document).scrollTop() : 0;
        c.left -= Math.min(c.left, c.left + f > m && m > f ? Math.abs(c.left + f - m) : 0);
        c.top -= Math.min(c.top, c.top + j > o && o > j ? Math.abs(j + l) : 0);
        return c
    },

警报的结果是:

IE8:159 135 25 1132 359

火狐:159 136 25 1136 843

Final Div 出现在:Firefox:前 582 左 98

IE:前98,左96

我认为 IE8 中的 Top 属性设置不正确,但不确定需要更改什么来解决这个问题?任何帮助是极大的赞赏。

谢谢,阿什什耆那教

4

1 回答 1

1

此错误已在 1.7.2 中修复。它相对于 IE8 中的边框模型。

有关详细信息,请参见此处:Ticket #5520

于 2012-10-16T09:21:12.927 回答