2

マウスが現在 div の表示領域内にあるかどうかを確認したい。次のコードを使用できることはわかっています。

$("#div").is(":hover");

jQuery で。

ただし、 my の上に部分的に別の div がある可能性がある#divため、私の場合、ホバーは機能しません。

その上にある要素に関係なく、マウスが要素の上にあるかどうかを確認する必要があります(ホバーチェックを防ぎます)。

4

1 に答える 1

0

問題の div の上の要素にアクションを適用する必要がない場合は、pointer-events:none を適用するだけです。これで問題が解決し、 $('#div').hover() を完全に使用できるようになります。

テスト例。

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>TEST</title>
    <style>
        div {
            width:50px;
            height:50px;
            position:absolute;
        }
        div#one {
            top:0;
            background:orange;
        }
        div#two {
            top:20px;
            background:blue;
            opacity:1;
            pointer-events:none;
        }
    </style>
</head>
<body>
    <div id="one">
    </div>
    <div id="two">
    </div>
    <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script>
    $(function(){
        $('div#one').click(function(){
            alert('one-clicked');
        });
        $('div#one').hover(function(){
            console.log('one is being hovered!')
        });
    });
    </script>
</body>
</html>

万歳、シャローム

于 2013-09-13T22:22:40.820 に答える