0

次のコードで、IE9 のポップアップ div に問題があります。

<li id="info001" class="listInfo" onmouseover="ShowPreview(this);" onmouseout="HidePreview();">

私のHidePreviewは、次のように、マウスがlistItemまたはプレビュー自体の上にないことを確認します。

function HidePreview() {
    if (!($('#thePreview').is(':hover') || $('#info001').is(':hover'))) {
        $('#thePreview').hide();
    }
}

これは Chrome と Firefox では問題なく動作しますが、IE9 では、listItem とプレビューの両方に移動するとプレビューがちらつき始め、プレビューだけに移動すると非表示になります。

これを回避する方法はありますか?

編集: わかりやすくするために、thePreview div は info001 li と重なっていて、それらの間でマウスを簡単に移動できます。

編集: http://jsfiddle.net/ControlFreak/QQsGS/

4

1 に答える 1

0

代わりに次のようにしてみてください。

var $thePreview = $("#thePreview");

$(".listInfo").hover(
    function () {
        $thePreview.show();
    },
    function () {
        $thePreview.hide();
    }
);

jsFiddle での作業例

そのコードは引き続き使用できます。疑似イベントを hover から mouseenter mouseleave に変更するだけです (1.9 以降を実行している場合)。詳細については、jquery.com/upgrade-guide/1.9/#hover-pseudo-event を参照してください。

于 2013-02-08T19:34:40.390 に答える