0

div 要素があり、マウスが入ったときに関数を起動したい。しかし、それは実際にはページの中央にあるため、通常、ページの読み込みと関数の実行時にマウスがその上にあります。マウスが既に入っているときに関数が実行されないようにする方法はありますか?

<div id = "mouse-control-div">.....</div>
<script type="text/javascript">
     $('#mouse-control-div').mouseover(function() {alert('some thing');});
</script>

私も .mouseenter を試しましたが、同じ結果です。

(コードサンプルを追加)

4

1 に答える 1

0

すでに入力したかどうかを示すブール値がある場合はどうなりますか?

jQuery イベントの詳細については、MouseOver / MouseOut と MouseEnter / MouseLeave を参照してください。

// When the DOM is ready, init scripts.
jQuery(function( $ ){
    var isEntered = false;
    // Bind the mouse over /out to the first DIV.
    $( "#mouse-control-div" ).bind(
        "mouseover mouseout",
        function( event ){
            if(!isEntered)
            {
                isEntered = true;
                echo('entered');
            }
        }
    );

    // Bind the mouse enter to the second DIV.
    $( "#mouse-control-div" ).bind(
        "mouseenter mouseleave",
        function( event ){
            if(isEntered)
            {
                isEntered = false;
                echo('left');
            }
        }
    );

    function echo(string)
    {
        $('#output').append('<li>'+string+'</li>');
    }

});

</p>

実際のデモについては、こちらをご覧ください

于 2012-12-13T11:35:29.753 に答える