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);
});