在JQuery中,如何确保删除的类不会留在DOM中

时间:2016-07-20 17:05:02

标签: jquery

我在这里大大简化了我的问题:我无法记住如何解决这个问题。

在下面的代码中,为什么在我删除了" colourme"之后颜色会发生变化。从广场上课?我如何确保" colourme"点击后不再应用?

<style>
.square{
   height:100px;
   width:100px;
   background:black;
}

.red{
   background:red;  
}
</style>

<body>

<div class="square colourme"></div>

</body>


<script>

$(".colourme").on("mouseenter", function(){
  $(this).addClass("red");
})
$(".colourme").on("mouseleave", function(){
  $(this).removeClass("red");
})  
$(".square").on("click", function(){
   $(this).removeClass("colourme");
})  

</script>

谢谢!

1 个答案:

答案 0 :(得分:2)

你应该委托事件,例如:

$(document).on("mouseenter mouseleave", ".colourme", function(){
  $(this).toggleClass("red");
})

或者只使用更具体的CSS规则:

.colourme.red {
  background: red;
}

现在,这真的取决于你的预期行为,而你的问题是关于保持红色是不是很清楚。