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 に答える