这是我对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。我做错了什么?请帮忙。
答案 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将我的结果转移到容器下方。一旦我把所有东西都切换到最左边,它就会很好用。