JSFiddle - React, Tailwind, and code Playground
by Graham Fairweather
HTML
<button id="button">Enable</button>
<div id="wrapper">
<select id="cars" disabled>
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="mercedes">Mercedes</option>
<option value="audi">Audi</option>
</select>
<div id="overlay"></div>
</div>
CSS
#wrapper {
display:inline-block;
position:relative;
}
#overlay {
display:none;
width:100%;
height:100%;
position:absolute;
top:0
left:0;
bottom:0;
right:0;
}
#cars:disabled + #overlay {
display:block;
}
JavaScript
var button = document.getElementById('button'),
cars = document.getElementById('cars'),
overlay = document.getElementById('overlay');
button.addEventListener('click', function () {
cars.disabled = !cars.disabled;
if (cars.disabled) {
button.textContent = 'Enable';
} else {
button.textContent = 'Disable';
}
}, true);
cars.addEventListener('change', function (evt) {
console.log(evt.target.value);
}, true);
overlay.addEventListener('click', function () {
alert('Disabled');
}, true);