JSFiddle - React, Tailwind, and code Playground
HTML
<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
<meta charset="utf-8">
<link rel="stylesheet" href="style.css">
<title>Five elements</title>
</head>
<body>
<div class="container">
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
<div class="block"></div>
</div>
</body>
<script type="text/javascript" src="script.js"></script>
</html>
CSS
.block{
width: 100px;
height: 100px;
background: blue;
margin: 20px;
}
.active{
background: red;
}
JavaScript
(() => {
let selectedBlockOld;
document.addEventListener("click", (() => {
return (e) => {
if (e.target.classList.contains("block")){
if (selectedBlockOld) {
selectedBlockOld.classList.remove("active");
}
let selectedBlock = e.target;
selectedBlock.classList.add("active");
selectedBlockOld = selectedBlock;
}
};
})());
})();