jQueryUI自动完成结果<ul>在IE7中未正确定位</ul>

时间:2012-09-20 19:12:00

标签: css jquery-ui autocomplete

这是我对jQueryUI自动完成功能结果的实现:

appendTo: "#results",
    open: function(){
        var position = $("#results").position(),
        left = position.left, 
        top = position.top;

        $("#results > ul").css({
            left: (left + 15) + "px",
            top: (top + 30) + "px", 
            width: (206) + "px", 
            float: "left"
         });
    },

适用于Firefox,Chrome甚至IE8和IE9,但不适用于IE7。我做错了什么?请帮忙。

1 个答案:

答案 0 :(得分:1)

您可以尝试使用jquery-ui定位,而不是编写自己的定位,例如:

appendTo: "#results",
position: {'my': 'left top', 'at': 'left top', 'of': '#results'}

您也可以为它添加填充,例如:

position: {'my': 'left top', 'at': 'left+15 top+30', 'of': '#results'}

有关jQuery UI定位的更多信息:http://api.jqueryui.com/position/

当我遇到IE7定位问题时,我偶然发现了这个问题。事实证明我正在锚定我的容器的'at': 'left bottom',这在其他浏览器中运行良好,但导致IE7将我的结果转移到容器下方。一旦我把所有东西都切换到最左边,它就会很好用。