2

私のコードでは、現在マウスが置かれている div に応じて、さまざまな詳細が読み込まれる id 'SIAinfoBox' を持つ div があります。関連するすべての div に次の 2 つのリスナーを追加しました。

$(annoDiv).mouseover(function(event){
                event.stopPropagation;
                $('#SIAinfoBox').empty();
                $('#SIAinfoBox').append(details);
                $('#SIAinfoBox').css('visibility','visible');
            });
$(annoDiv).mouseleave(function(event){
                event.stopPropagation;
                $('#SIAinfoBox').empty();
                $('#SIAinfoBox').css('visibility','hidden');
            });

これらの div には背景色が設定されていませんが、1 ピクセルの黒色の境界線があります。Firefox では、すべて正常に動作します。しかし、Internet Explorer では、SIAinfoBox は、マウスが div の境界線上にある場合にのみ塗りつぶされます。div内に移動すると、mouseleaveイベントが発生するようで、コンテンツが削除され、divが非表示になります。背景色を設定すると、期待どおりに機能しますが、背景色 (または透明) がないと機能しません。また、mouseover の代わりに mouseenter を使用してみましたが、結果は同じでした。InternetExplorer がそのように動作するのはなぜですか、または現在 IE の FF で得ている結果を達成するにはどうすればよいですか?

4

3 に答える 3

6

私はこのような同様のIE関連の問題を抱えていました-透明なpngを作成し、背景を「url(images /transparent.png)repeat scroll 0 0transparent」に設定できます– SmokeyPHP

彼のコメントが最初に見つからなかったので、答えとしてここに移動しました。透明な画像は以下のリンクで見つけることができます:

回答: style = "background:url(images /transparent.png)繰り返しスクロール00透明"

透明なgif: http ://www.golivetutor.com/download/spacer.gif

于 2011-10-24T11:48:41.113 に答える
0

つまり、背景が透明な場合、イベントの要素も「透明」になるというバグです。「has layout」(zoom:1 など) を使用してみてください。役に立たない場合は、要素の背景に透明な gif 画像を設定してください。

于 2011-10-17T21:37:08.583 に答える
0

私はcssスタイリングトリックを適用することを経験しました

{
  zoom: 1;
}

IE 9 では動作しますが、IE 10 では動作しません。他のいくつかのソリューションで説明されているように、透明な GIF または PNG を使用できない場合は、次の方法も使用できます。

{
  background-color: rgba(0, 0, 0, 0.1);
}

問題が発生する可能性があるため、IE 8 でこのスタイルを適用することは避ける必要があることに注意してください。「rgba」はIE9 以降で使用できます。

于 2014-03-09T23:29:57.223 に答える