首页 > 用jquery怎么知道是否再次点击了同一个按钮

用jquery怎么知道是否再次点击了同一个按钮

用jquery怎么知道是否再次点击了同一个按钮


<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>test</title>
  <style>
      .btn {
          display: inline-block;
          background-color: red;
          margin: 10px;
          cursor: pointer;
      }
      .green {
          background-color: green;
      }
  </style>
</head>
<body>
  <div>
    <span class="btn">按钮1</span>
    <span class="btn">按钮2</span>
    <span class="btn">按钮3</span>
  </div>
</body>
<script src="https://code.jquery.com/jquery-1.11.3.js"></script>
<script>
    $('.btn').on('click', function() {
        var $this = $(this);
        if(!$this.attr('clicked') || $this.attr('clicked') === "no") { // 未点击
            $this.addClass('green'); // 改变颜色
            $this.attr('clicked', "yes"); // 重置属性
        } else if($this.attr('clicked') === "yes"){ // 被点击过
            $this.removeClass('green');   // 改变颜色
            $this.attr('clicked', "no");  // 重置属性
        }
    });
</script>
</html>

通过dom元素的属性、类名等来标识判断是否是同一个按钮

你的5个按钮应该有一个统一的class,被点击的应当有一个特有的class1,点击按钮只需要把class1移除,然后把被点击的按钮添加class1


$(".btn").click(function(){
    $(this).toggleClass("active");
});

你可以通过添加 class 来改变颜色啊,那就好判断了嘛。

button.addEventListener("click", function() {
    if (this.classList.contains("red")) {
        this.classList.remove("red");
    } else {
        this.classList.add("red");
    }
});

https://jsfiddle.net/kLqw66qs/

jQuery 版

$("button:first").on("click", function() {
    var button = $(this);
    if (button.is(".red")) {
        butotn.removeClass("red");
    } else {
        button.addClass("red");
    }

    // 也可以用 toggleClass
    // $(this).toggleClass("red");
});

你可以var一个变量赋值为true。
第一次点击的时候,变量为false后,你就知道是不是第二次点击了。

【热门文章】
【热门文章】