我在这里大大简化了我的问题:我无法记住如何解决这个问题。
在下面的代码中,为什么在我删除了" 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>
谢谢!
答案 0 :(得分:2)
你应该委托事件,例如:
$(document).on("mouseenter mouseleave", ".colourme", function(){
$(this).toggleClass("red");
})
或者只使用更具体的CSS规则:
.colourme.red {
background: red;
}
现在,这真的取决于你的预期行为,而你的问题是关于保持红色是不是很清楚。