使用jQuery,我如何在单击除ID之外的任何位置时删除类?

使用jQuery,我如何在单击除ID之外的任何位置时删除类?,jquery,Jquery,我有这个密码。单击按钮会打开一个侧边栏。我还添加了一个remove class函数,该函数将在单击页面的任何部分(包括侧边栏本身)时删除该类 $(function(){ $("#users, #close-user").click(function(e){ e.stopPropagation(); $("#user-list").addClass("open"); }); $(document).click(function(){

我有这个密码。单击按钮会打开一个侧边栏。我还添加了一个remove class函数,该函数将在单击页面的任何部分(包括侧边栏本身)时删除该类

$(function(){ 
    $("#users, #close-user").click(function(e){
        e.stopPropagation();
        $("#user-list").addClass("open");
    });
    $(document).click(function(){
            if( $("#user-list").hasClass("open") ){
            $("#user-list").removeClass("open");
        };
    });
});

如何修改此代码,使侧边栏仅在单击侧边栏以外的任何其他元素时才会关闭?

您可以单击滑块来停止播放。像这样:

$('#user-list').click(function(e){
   e.stopPropagation();
});

您可以单击滑块来停止播放。像这样:

$('#user-list').click(function(e){
   e.stopPropagation();
});

您可以单击滑块来停止播放。像这样:

$('#user-list').click(function(e){
   e.stopPropagation();
});

您可以单击滑块来停止播放。像这样:

$('#user-list').click(function(e){
   e.stopPropagation();
});
您不应该使用
event.stopPropagation()如前所述

一开始,修改一个短暂的事件似乎是无害的,但它会带来风险。当您改变人们期望的行为以及其他代码所依赖的行为时,您将出现bug。这只是时间问题

您不应该使用
event.stopPropagation()如前所述

一开始,修改一个短暂的事件似乎是无害的,但它会带来风险。当您改变人们期望的行为以及其他代码所依赖的行为时,您将出现bug。这只是时间问题

您不应该使用
event.stopPropagation()如前所述

一开始,修改一个短暂的事件似乎是无害的,但它会带来风险。当您改变人们期望的行为以及其他代码所依赖的行为时,您将出现bug。这只是时间问题

您不应该使用
event.stopPropagation()如前所述

一开始,修改一个短暂的事件似乎是无害的,但它会带来风险。当您改变人们期望的行为以及其他代码所依赖的行为时,您将出现bug。这只是时间问题



嗯。。。类似于
$('body*:not(#user list')。在('click',function…
?@SpYk3HH尝试过这个,但它不起作用:(嗯…类似于
$('body*:not(#user list')。在('click',function…
)上,@SpYk3HH尝试过这个,它不起作用:(嗯…类似于
$('body*:not user list')。在(#click',function…)
?@SpYk3HH尝试了这个,它不起作用:(嗯……类似于
$('body*:not(#user list'))。在('click',function…)
?@SpYk3HH尝试了这个,它不起作用:(在我粘贴的代码中,已经有一个
e.stopPropagation()
@sam:你需要在点击侧边栏时做同样的事情。在我粘贴的代码中,已经有一个
e.stopPropagation();
@sam:你需要在点击侧边栏时做同样的事情。在我粘贴的代码中,已经有一个
e.stopPropagation()
@sam:你需要在点击侧边栏时做同样的事情。在我粘贴的代码中,已经有一个
e.stopPropagation();
@sam:你需要在点击侧边栏时做同样的事情。好的,这很有效。我会在7分钟后选择这个作为答案。谢谢你提供的信息。我怎样才能摆脱
事件。stopPropagation();
。我不明白。@Sam我在答案
$('html')中添加了一个JSFIDLE。单击(函数()
)不仅在firefox中有效。在chrome和opera中效果很好。有什么建议吗?@Sam firefox似乎需要函数中的
事件
参数,所以将代码更改为
$('html')。单击(函数(事件)
好的,这就行了。我会在7分钟后选择这个作为答案。谢谢你提供的信息。我怎样才能摆脱
事件.stopPropagation();
。我不明白。@Sam我在答案
$('html')中添加了一个JSFIDLE。单击(函数()
不仅仅在firefox中工作。在chrome和opera中工作得很好。有什么建议吗?@Sam firefox似乎需要函数中的
event
参数,因此将代码更改为
$('html')。单击(函数(事件)
好的,这就行了。我会在7分钟后选择这个作为答案。谢谢你提供的信息。我怎样才能摆脱
事件.stopPropagation();
。我不明白。@Sam我在答案
$('html')中添加了一个JSFIDLE。单击(函数()
不仅仅在firefox中工作。在chrome和opera中工作得很好。有什么建议吗?@Sam firefox似乎需要函数中的
event
参数,因此将代码更改为
$('html')。单击(函数(事件)
好的,这就行了。我会在7分钟后选择这个作为答案。谢谢你提供的信息。我怎样才能摆脱
事件.stopPropagation();
。我不明白。@Sam我在答案
$('html')中添加了一个JSFIDLE。单击(函数()
不仅在firefox中工作。在chrome和opera中工作得很好。有什么建议吗?@Sam firefox似乎需要函数中的
event
参数,因此将代码更改为
$('html')。单击(函数(事件)