setTimeout Interview Question

by Matthew Vasallo

HTML

<input>Type Here</input>

JavaScript

$(document).ready(function () {
    var currentKeyCount = 0;
    $('input').keypress(function (event) {
        currentKeyCount++;
        var countWhenPressed = currentKeyCount;
        //console.log('count => ', countWhenPressed);
        setTimeout(function () {
            // debugger;
            //console.log('when pressed is => ', countWhenPressed);
            //console.log('current is => ', currentKeyCount);
            if (countWhenPressed === currentKeyCount) {
                //console.log('original value => ', test);
                //console.log('new value => ', $('input')[0].value);
                console.log('sending value...', event.target.value);
                //alert('you were typing slower than 400ms!');
                currentKeyCount = 0;
            }
        }, 400);
    });
});