JSFiddle - React, Tailwind, and code Playground
HTML
<div id="log">Log:</div>
<div id="keys" tabindex="1">Focus</div>
<div id="click">Click</div>
<div id="modal">
<form>
<input type="text" id="input" />
</form>
</div>
CSS
div {
padding: 10px;
border: 1px #ccc solid;
margin: 10px;
}
JavaScript
$(function () {
$('#log').append(' load ');
$('#keys').focus();
$('#keys').keydown(function (event) {
$('#log').append('*');
if (event.keyCode == 84) {
$('#input').focus();
event.preventDefault();
}
});
$('#click').click(function () {
$('#log').append(' click ');
$('#keys').focus();
});
$('#input').blur(function () {
$('#log').append(' blur ');
setTimeout( $('#keys').focus.bind($('#keys')), 0);
});
});