JSFiddle - React, Tailwind, and code Playground
HTML
<div class="button-container">
<a href="#" class="button">button</a>
<span class="clickhandler">
</span>
</div>
CSS
.button-container {
position: relative;
display: inline-block;
}
.clickhandler {
border: 1px solid red;
display: inline-block;
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
z-index: 2;
}
.button {
background: #ccc;
color: #000;
display: inline-block;
padding: 5px 20px;
position: relative;
z-index: 0;
}
.button.active {
margin-top: 20px;
}
JavaScript
$('.clickhandler').on('mousedown', function(e) {
$('.button').addClass('active');
});
$('.clickhandler').on('mouseup', function(e) {
$('.button').removeClass('active');
});
$('.clickhandler').on('click', function(e) {
e.preventDefault();
alert("You've pressed the button");
});