JSFiddle - React, Tailwind, and code Playground
HTML
<input type="checkbox" value="42">
<button type="button">Virtual click</button>
<div id="log"></div>
CSS
div { white-space: pre; }
JavaScript
var cb = document.getElementsByTagName('input')[0];
var button = document.getElementsByTagName('button')[0];
function log(message) {
document.getElementById('log').appendChild(
document.createTextNode(message + '\n'));
}
cb.addEventListener('click', function () {
log('clicked');
});
cb.addEventListener('change', function () {
log('changed');
});
button.addEventListener('click', function () {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent("click");
cb.dispatchEvent(evt);
});