1

jQueryUI Autocomplete 関数の結果の実装は次のとおりです。

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 に答える