<div id="saveChanges" class="button" tabindex="0" role="button">
Save
</div>
<p>Some text to go along with the button</p>
.button {
border: 3px solid limegreen;
border-radius: 15px;
width: 5em;
padding: 0.25em;
text-align: center;
}
.button:focus {
outline: none;
box-shadow: 3px 3px green;
}
const buttons = document.querySelectorAll(".button");
[...buttons].forEach((button) => {
button.addEventListener("pointerdown", (event) => {
doSomething(button);
});
button.addEventListener("keydown", (event) => {
if (event.key == "Enter" || event.key == " ") {
doSomething(button);
}
});
});
function doSomething(button) {
let pressed = button.getAttribute("aria-pressed") === "false";
if (pressed) {
button.setAttribute("aria-pressed", "true");
} else {
button.setAttribute("aria-pressed", "false");
}
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.