1

这是我的 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。我做错什么了?请帮忙。

4

1 回答 1

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 将我的结果转移到容器下方。一旦我把所有东西都切换到左上角,它就很好用。

于 2012-10-12T17:08:40.227 回答