Déclencher une fonction avec jQuery après une seule lettre qui a été tapé dans une zone de saisie

Je suis en train de faire une simple zone de recherche. Comment puis-je déclencher une fonction juste après une seule lettre qui a été tapé dans une zone de saisie? J'ai utilisé .keyup, mais cela semble inutile, parce que, quand un diacritique caractère est tapé, la fonction est déclenchée trois fois.

<input id="text" type="text" />
<div></div>
<script>
    $('#text').keyup(function(){
        $('div').append('TEST'+$(this).val());
    });
</script>

Le code ci-dessus fonctionne très bien, sauf si vous tapez un caractère diacritique:+, -, ł, ½, ¼, æ, etc.

Je ne peux pas utiliser .pression de touche ou .keydown car il déclenche une fonction avant un caractère est tapé.

ÉDITÉ PLUS TARD:

Je sais que mon exemple, pourrait ne pas être suffisamment clair pour comprendre le problème, mais... Dans mon vrai code à chaque fois qu'une lettre est tapée, une requête SQLite est exécutée. Si un type un caractère diacritique ou une lettre capitale, la requête est exécutée en trois ou deux fois, ce qui ralentit l'ensemble du script. Il ne fera pas une grande différence si vous exécutez le script dans un navigateur web de l'ordinateur, mais il y a un retard important dans les navigateurs mobiles.

juste l'empêcher de faire quoi que ce soit sur shift-ctrl-alt et devrait fonctionner

OriginalL'auteur lukeshek | 2012-04-14