JSFiddle - React, Tailwind, and code Playground
by Angel Rodriguez
HTML
Petición: <input type="text" name="texto" id="texto" ><br />
Evento KeyDown: <div id="buscando"></div><br />
<!-- TIME PERFORMANCE -->
<br /><br /><b>Performance:<br></b>
Tiempo Actual: <div id="timer">0.00</div><br />
Tiempo Máximo: <div id="maxtimer">0.00</div> > Query: <div id="querymaxtimer"></div><br />
<!-- Fin Time Performe -->
CSS
#texto,#buscando,#timer,#maxtimer,#querymaxtimer{margin:3px 0;border:1px solid #000;padding: 5px 20px;display: inline-block;}
JavaScript
/* Variables Globales */
var inputSearch = document.getElementById('texto');
var buscando = document.getElementById('buscando');
/* TIME PERFORMANCE > Variables Globales */
var timer = document.getElementById('timer');
var maxtimer = document.getElementById('maxtimer');
var qmaxtimer = document.getElementById('querymaxtimer');
/* Añadiendo Evento */
if(window.addEventListener) // Todos los navegadores modernos
{inputSearch.addEventListener('keyup',searching,false);}
else // Windows 9 para atrás
{if(window.attachEvent){inputSearch.attachEvent('keyup',searching);}}
/* Funcion de Prueba */
function searching(event,callback)
{
/* TIME PERFORMANCE */
/* >> Timer Ini */ var i = performance.now();
/* Hacer algo........ */
var query = this.value;
buscando.textContent = query;
/* Terminando de hacer algo ......... */
/* TIME PERFORMANCE */
/* >> Timer End */
var f = performance.now();
/* >> TotalTime */
var totalTime = f - i;
var t;
if(totalTime < 1){
if(totalTime<=0.0001){t= ' Nanosegundos';}
else{t= ' Microsegundos';}
}else{t = ' Milisegundos'};
/* >> Tiempo Maximo */
var mt = parseFloat(maxtimer.textContent);
if(totalTime > mt){
maxtimer.textContent = totalTime.toFixed(15) + t;
qmaxtimer.textContent=query;
}
/* >> Tiempo Actual */
timer.textContent = totalTime.toFixed(15) + t;
}