JSFiddle - React, Tailwind, and code Playground
HTML
<textarea id="text"></textarea>
<textarea id="simulator"></textarea>
<br/>
<div id="simulate" >Simulate</div>
JavaScript
var keyslog = [];
var baseTime = 0;
$('#text').bind('keyup keydown keypress', function(e){
if (baseTime <= 0) baseTime = e.timeStamp;
keyslog.push({delay:e.timeStamp-baseTime, text:$('#text').val()});
});
$('#simulate').click(function () {
$simulator = $('#simulator');
while(keyslog.length > 0) {
var e = keyslog.shift();
window.setTimeout(updateText, e.delay, $simulator, e.text);
}
});
function updateText($s, t) {
$s.val(t);
}