0

FIREFOX に問題があります。ドロップダウン コントロール (html 'select') に対する非表示のリスト コントロールがあります。理由は気にしませんが、オーバーレイは、別のカスタム コントロールの一部として表示されるポップアップです。

非表示になっていますが、下にあるドロップダウン コントロールをクリックできず、下にあるコントロールが無効になっているように見えます。ただし、タブで移動できるため、無効になっていません。私はそれをクリックすることはできません。基礎となるコントロールを横に移動し、再び機能するため、問題の原因となっているのはオーバーレイであることはわかっています。

これは Firefox のバグですか? これは、半透明度の値を設定するのとは異なります。コントロールのレンダリングを完全に無効にしているので、そのような目に見えないコントロールがマウスイベントをインターセプトするべきではないと思います。この現象は、Internet Explorer では発生しません。

おそらく、マウス イベントのキャプチャ機能とその可視性を切り替えるために JavaScript で設定できる CSS プロパティが他にもあるでしょう。

dd = document.getElementById('lstStudents');
if (dd.style.visibility == 'hidden') dd.style.visibility = 'visible'; else dd.style.visibility = 'hidden';

更新: CSS 可視性値「hidden」の説明を読んだところ、「要素は非表示です (ただし、スペースを占有します)」と書かれています。したがって、この問題を解決するには、可視性を設定するとともに、高さをゼロに設定する必要があると思います。

4

3 に答える 3

1

オーバーレイ コントロールの z-index を -1 などに変更します。style="z-index: -1;" これにより、すべての下に配置され、ドロップダウンに直接アクセスできるようになります。z-index を動的に変更して、オーバーレイヤーが表示されたときに最前面に戻す必要がある場合があります。

より詳しい情報

于 2009-11-17T21:24:01.890 に答える
0

要素をどのように隠していますか?私が正しく覚えていれば、「可視性:非表示」は(正しく)あなたが説明したように機能するはずですが、「表示:なし」はレンダリングを完全に禁止します。

それが原因でない場合、Web Developer Toolbar を使用して、実際に問題を引き起こしているのは非表示のコントロールであり、不透明度が 0 に設定されている別のコントロールではないことを確認できますか?

于 2009-11-17T21:28:08.563 に答える
0

以前に Firefox でポップアップ ボックスを作成した方法は、CSS プロパティを使用するものでした。

z-index: 500;
display: block;

要素を表示する

z-index: -10;
display: none;

それを非表示にします。

今。z-index の私の値は極端ですが、それは私が選んだものです。これは私にとってはうまくいきますが、私のアプリは特に Firefox をターゲットにしていました。aaaaand私はあなたが避けたいと述べた表示プロパティを使用しています。

display:block または display:hidden の使用が心配な場合は、要素の配置やサイズ変更を試してみてください。

ポップアップ要素を絶対位置に配置し、非表示の場合は画面外に移動するか、非表示の場合は幅 0px、高さ 0px にしてみてください。それでも問題が解決しない場合は、この 2 点について検討する可能性があります。ただし、これらを最良の解決策として推奨するかどうかはわかりません。

ポップアップ要素のいくつのインスタンスが異なる表示値を持つかを実際に検討してください。私の場合、「なし」と「ブロック」の 2 つのタイプしか使用していないことがわかりました。おそらく、表示プロパティを操作するだけで十分でしょう。

お役に立てれば。

于 2009-11-17T22:03:55.397 に答える