如何通过点击任何地方取消jQuery效果

How to cancel jQuery effect by clicking anywhere?

本文关键字:取消 jQuery 效果 方取消 何通过 任何地      更新时间:2023-09-26

所以我有这样的代码:

$(document).click(function(e){
  $(".label").removeClass("active");
});
$(".input-combo").click(function(e){
  e.stopPropagation();
  var $this = $(this),
      label = $this.find(".label");
  $(".label").removeClass("active");
  label.addClass("active");
});

除了$(document)点击部分,它工作正常,但在文档部分,第一个click事件取消了$(".input-combo")点击事件。我该如何预防呢?

下面的代码应该可以工作:

$(document:not(.input-combo)).click(function(e){
  $(".label").removeClass("active");
});
$(".input-combo").click(function(e){
  e.preventDefault();
  var $this = $(this),
      label = $this.find(".label");
  $(".label").removeClass("active");
  label.addClass("active");
});

使用.not()选择器排除所有不想删除的函数。