3

そのため、jQueryUIのダイアログボックスを使用しています。しかし、私が読んだように、ドロップダウンリストがz-indexキューに注意を払わないというIE6内の一般的なバグがあります(これが機能することを確認する必要があるのは残念です)。また、オーバーレイの問題を処理するためのbgiframeと呼ばれる便利なプラグインがあることも読みました。私は人々がそれを使うと言う2つの異なる方法を見つけました、そしてどちらもうまくいきません。私は本当に愚かなことをしているだけかもしれませんが、これを機能させる必要があります。

jQuery.bgiframe.jsバージョン2.1.1を含むこれが私が作業せずにそれを使用しようとした2つの方法です:(私が取り組んでいるページにすべてのjQuery-UI、jQuery、およびbgiframeを含めました)

  1. 実際のプラグインのドキュメントには、次のように書かれています。

    $("#selectDropdownThatNeedsFixing").bgiframe();
    

    これにより、オブジェクトが期待されているというjQuery例外が発生します。

  2. 次のページから見た2番目の方法:http://docs.jquery.com/UI/Dialog/dialog基本的にbgiframe: true、ダイアログを初期化するときに設定するだけです。

    $( ".selector" ).dialog({ bgiframe: true });
    

これはエラーにはなりませんが、テストしたときにIE6内に問題が残っています。

私は何かが足りないのですか?どちらの方法でbgiframeを使用する必要がありますか?どんな方向でも大歓迎です。ご協力ありがとうございました!

4

2 に答える 2

6

You don't need to use a plugin for this. The problem with IE6 and z-index is, positioned elements in IE6 generate a new stacking context starting with a z-index value of 0. Therefore z-index doesn’t work correctly in IE6. The workaround to this issue is to specify a z-index value in the parent selector that is equal to the z-index specified in the child selector.

Check working example at http://jsfiddle.net/ebgnu/2/

Below is the example i did in jsfiddle.

.parent{
    position: relative;
    color:white;
}
.parent#a {
    height: 2em;
    z-index: 1;
}
.parent#a .child{
    position: absolute;
    height: 6em;
    width: 2em;
    z-index: 1;
    background:blue;
}
.parent#b {
    height: 2em;
    background:red;
}

<div class="parent" id="a">
    <div class="child">a</div>
</div>
<div class="parent" id="b">
    <div class="child">b</div>
</div>

Look at .parent#a This is the parent of the child selector a that have a z-index of 1. In this example, a will be on top of b. let's say we want to make b on top on a. All we need to do is change values of both the child a and it's parent to z-index: 0. This will send it to the back.

于 2011-02-27T07:37:54.107 に答える
1

bgiframeプラグインは、dialogではなく、で呼び出すことになっていると思います< select >。現在のjQueryUIバージョンにはbgiframe、ダイアログウィジェットのオプションがリストされていないようです。

発生しているjQuery例外は、ターゲットにしている要素が指定されたセレクター()に存在しないことを示しているようです#selectDropdownThatNeedsFixing

問題が解決しない場合は、IE Developerツールバーを使用して、iframeが実際に作成されているかどうかを確認してください。

于 2011-02-23T19:38:50.977 に答える