aumentar dinamicamente a largura da caixa de texto de texto do tipo de entrada de acordo com os caracteres inseridos nela

eu tenho umtextbox onde o usuário pode inserir qualquer número de caracteres, mas eu quero quelargura a ser aumentada dinamicamente em relação ao número de caracteres inseridos nele.

Eu fiz uma solução alternativa mostrada abaixo e funciona parcialmente, aumentará dinamicamente a largura, mas não com tanta precisão, e ocultará os primeiros caracteres inseridos depois de um tempo, devido à minha má lógica aplicada a ele. Acabei de dar um cutoff de 17 caracteres para começar o incremento.

Ele deve iniciar o incremento da largura apenas se a contagem de caracteres chegar ao final da caixa de texto.

ATUALIZAR:

Estou procurando tornar visíveis todos os caracteres inseridos no campo, enquanto, por padrão, a caixa de texto oculta os caracteres mais à esquerda.

FIDDLE DEMO

HTML

<input type="text" id="txtbox" />

ROTEIRO

$('#txtbox').keypress(function() {
    var txtWidth = $(this).width();
    var cs = $(this).val().length;

    if(cs>17){
       $(this).width(txtWidth+5);
    }
});

questionAnswers(4)

yourAnswerToTheQuestion