当我点击除此之外的任何内容时,如何更改此css?

时间:2013-05-13 17:29:14

标签: jquery css click

我试图通过点击屏幕上的任何其他位置来更改菜单项的CSS。这是为了在点击它们并将css改为默认值后重置它们的css属性。

如果我有一个包含id="linkitem"的列表项,如何点击#linkitem以外的任何内容来更改它的css。

由于

5 个答案:

答案 0 :(得分:1)

$('li').not('#linkitem').click(function(){
    //change css here
});

And the fiddle illustrating this behavior

And the documentation for jQuery.not()

答案 1 :(得分:1)

你需要一个否定选择器

$(':not(#linkitem)').click(function(){
    //insert code here
});

答案 2 :(得分:1)

$('body').on('click', function(e) {
    if(e.target.id === 'linkitem'){
       // Do something
    }
    else {
       // something else
    }
});

答案 3 :(得分:1)

$(document).on('click', function(e) {
    if ( ! $(e.target).closest('#linkitem').length ) {
        // you clicked anywhere but on an element inside #linkitem (or itself)
        $('#linkitem').css('color', 'red');
    }
});

答案 4 :(得分:1)

我不确定你的意思,但你可以这样做:

$(":not(#linkitem)").on('click',function(){
    alert("I was callled");
}