【问题标题】:jQueryUI Autocomplete results <ul> not positioned properly in IE7jQueryUI 自动完成结果 <ul> 在 IE7 中没有正确定位
【发布时间】:2012-09-13 05:08:29
【问题描述】:

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

【问题讨论】:

  • 你没有做错任何事。微软做到了!!
  • @RajatSinghal,是否有任何可行的解决方法?我真的很绝望。
  • @RajatSinghal,再想一想,请教我 ie7 上的 css 技巧。
  • 你需要看到它在控制台中抛出的错误。按 f12 打开控制台,在脚本选项卡中,查看错误,然后用谷歌搜索它们。

标签: css jquery-ui autocomplete


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

【讨论】:

  • 是的,我使用了这个解决方案,它给了我想要的东西。事实上,在定位 jqueryui 自动完成时,这是最推荐的解决方案。不过还是谢谢你的回答。:)
猜你喜欢
  • 2013-05-13
  • 2011-02-20
  • 2016-09-08
  • 2012-08-31
  • 1970-01-01
  • 2013-10-30
  • 1970-01-01
  • 2020-01-26
  • 1970-01-01
相关资源
最近更新 更多