0

ユーザーがID='menubutton'の要素をクリックした場合を除いて、メニューを非表示にするにはどうすればよいですか?

$('body').click(function(event) {
    $('#menu').hide();
    });
4

4 に答える 4

2

not()セレクターを使用する

$('body :not(#menubutton)').click(function(event) {
    $('#menu').hide();
});

http://api.jquery.com/not-selector/

于 2012-05-16T18:29:38.183 に答える
1

要素を使用しtargetます。

$('body').click(function(event) {
    // If the element clicked doesn't have the id "menubutton"
    if ( $(event.target).attr( 'id' ) !== 'menubutton' ) {
        $('#menu').hide();
    }
});
于 2012-05-16T18:27:09.347 に答える
1
$('body').click(function(event) {
    // don't hide if the clicked element was #menubutton,
    // or any element within #menubotton
    if (!$(event.target).closest('#menubutton').length) {
        $('#menu').hide();
    }
});
于 2012-05-16T18:27:09.773 に答える
1
$('body :not(div #menubutton)').click(function(event) {
   $('#menu').hide();
});

jQuery Not()

not()のセレクターは、あなたのケースのためにいくつかの変更を必要とするかもしれません

于 2012-05-16T18:28:40.990 に答える