【发布时间】:2016-06-10 08:14:43
【问题描述】:
在此程序中,单击任何框都会更改其颜色。但是我希望在单击一个框时,它的颜色会发生变化,但在单击另一个框时,它的颜色应该会改变,但第一个框的颜色应该消失(即返回原始状态)。
从更广泛的角度来看,一旦事件发生在另一个元素上,我如何将一个元素返回到其原始状态。 (就像我们在 css 中添加 :hover 效果时发生的情况一样,当我们从中移除鼠标时元素会恢复到原来的状态)
编辑 - 在我的原始项目中,我有很多具有类似点击效果的 div。我想要一种通用方法,即一个元素上的事件会导致从所有其他元素中删除所有更改。
var div1 = document.getElementById("div1");
var div2 = document.getElementById("div2");
div1.addEventListener("click", function() {this.style.backgroundColor="red";});
div2.addEventListener("click", function() {this.style.backgroundColor="red";});
div {
width: 100px;
height: 100px;
margin: 10px;
border: 1px solid black;
}
<html>
<body>
<div id="div1"></div>
<div id="div2"></div>
</body>
</html>
【问题讨论】:
标签: javascript html css