除了项目id = something之外,在身体上单击隐藏

时间:2012-05-16 18:24:53

标签: javascript

除非用户点击ID ='menubutton'的元素,否则如何隐藏菜单?

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

4 个答案:

答案 0 :(得分:2)

使用not()选择器

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

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

答案 1 :(得分:1)

使用target元素。

$('body').click(function(event) {
    // If the element clicked doesn't have the id "menubutton"
    if ( $(event.target).attr( 'id' ) !== 'menubutton' ) {
        $('#menu').hide();
    }
});

答案 2 :(得分: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();
    }
});

答案 3 :(得分:1)

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

jQuery Not()

not()的选择器可能需要对您的案例进行一些更改