0

可能重复:
检测点击外部元素?

当焦点(单击)在它之外时,我试图隐藏一个 div,但是它里面有一些元素,而不是在所有这些上执行 e.target.id 有没有办法包含所有元素?我的意思清楚吗?

编辑:我试图当外面的hide任何人#contain_nameclicknewsletter

jsfiddle:演示

<div id="newsletter">
    <form action="#" class="form-post">
        <div class="clearfix">
            <input type="text" id="email" name="email" placeholder="email" />
            <button id="fake">Send</button>
        </div>
        <div id="contain_name" class="clearfix">
            <input type="text" id="person_name" placeholder="full name" />
            <button id="real_button">Send</button>
        </div>
    </form> 
</div> 


$('#email').focus(function() {
    $('#fake').fadeOut();
    $('#contain_name').slideDown();
});

$(document).on('click', function(){
    //do something here
});
4

2 回答 2

2
$(document).on('click', function(e){
    if (e.target !== $("#excludedDiv")[0]) {
      // do something there
    }
});
于 2012-11-24T23:20:10.070 回答
0

这?

$( document ).on( 'click', function ( e ) {
    if ( !$( e.target ).closest( '#newsletter' )[0] ) {
        $( '#contain_name' ).hide();
    }
});

现场演示:http: //jsfiddle.net/FUDLk/11/

于 2012-11-24T23:21:43.563 回答