0

我在我的网站上将这段代码用于我的jQueryUI Autocomplete功能,

$( "#find" ).autocomplete({
            minLength: 1,
            source: function(request, response) {
                        var results = $.ui.autocomplete.filter(locations, request.term);
                        response(results.slice(0, 10));
                    },
            focus: function( event, ui ) {
                $( "#find" ).val( ui.item.value );
                return false;
            },
            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" });
            },

            select: function( event, ui ) {
                $( "#find" ).val( ui.item.value );
                $(":header.title").html(ui.item.value);
                var new_url = ui.item.href; // instead of adding 'statistics', by using location.hash, it wont be necessary unlike using pushState()
                location.hash = new_url;
                return false;
            }
        })
        .data( "autocomplete" )._renderItem = function( ul, item ) {
            return $( "<li></li>" )
                .data( "item.autocomplete", item )
                .append( "<a>" + item.label + "<br />" + item.desc + "</a>" )
                .appendTo( ul );
        };

Firefox实际上,这在和上工作得很好Chrome,它的行为就像它在此处给出的示例中的行为一样,我只是根据我想要的复制和修改它。但是IE9item.desc在其他浏览器上显示的内容在 上不可见IE9。我认为从修复开始的代码是最后一部分,即附加自动完成建议的部分。有人可以帮我吗?干杯!

4

3 回答 3

0

创建一个新的 css 类来覆盖现有的 jquery ui 自动完成 "position":"absolute"

.ui-autocompelte{
"position": "absolute"
....
....
}

新的 CSS 类

.ui-autocomplete-ie9-fix { position: relative !important; }  

并在 $("#find").autocompelte({ ........ ....... }); 之后应用这个 css 类

if (!$.browser.msie || ($.browser.msie && $.browser.version != 9)) {
        $("ul.ui-autocomplete").addClass("ui-autocomplete-ie9-fix");
    }
于 2013-07-08T06:39:13.887 回答
0

您需要升级bgiframe.min.js到更高版本(3.0 可以正常工作) https://github.com/brandonaaron/bgiframe

于 2013-05-27T21:20:17.073 回答
-1

在头标签之后添加下面的标签

<meta http-equiv="X-UA-Compatible" content="IE=8" />
于 2013-05-03T21:47:27.083 回答