2

ユーザーがページ内の任意の場所をクリックしたときに div を非表示にしたいが、div ではありません。

<head>
<script type="text/javascript" src="jquery-1.8.3.js"></script>
<script type="text/javascript">
$(function () {
    $(document).not('.me').click(function () {
        $('.me').hide()
    })
})
</script>
</head>
<body>
<div class="me" style="width:200px; height:200px; background:#F00">
test
</div>
</body>
4

5 に答える 5

2

bodyまたはhtml要素にクリック イベントを追加し、要素へのクリック イベントの伝播を防ぐことができますdiv

$(function () {
    //bye bye lovely div :)
    $('html, body').click(function(){
       $('.me').hide();
    });

    //let's avoid the click propagation to the body or html
    $('.me').click(function(e){
        e.stopPropagation();
     });
});

生きている例

于 2013-05-30T09:53:17.980 に答える
2

使用できますstopPropagation()

$(function(){
    $(document).click(function(){
       $(".me").hide();
    });
    $(".me").click(function(e){
       e.stopPropagation(); 
    });
});

このjsFiddleを確認してください

于 2013-05-30T09:53:51.327 に答える
2
$(document).click(function (e)
{
    var container = $(".me");

    if (container.has(e.target).length === 0)
    {
        container.hide();
    }
});
于 2013-05-30T09:51:33.333 に答える
0
$(function(){
    $(document).click(function(){
        $('.me').hide()
    })
    $('.me').click(function(){
        return false;
    })
})
于 2013-05-30T09:51:55.560 に答える