2012-08-01 4 views
0

J'ai l'élément de texte d'entrée, je veux: quand j'écris un symbole dans cette entrée, alertez ce symbole, c'est si j'écris le symbole "a", immédiatement alerte ("a"), comment faire ce? J'essaie, mais cela ne fonctionne pasobtenir la valeur du clavier

$("input").on("keypress", function() { 
       setTimeout (function() {    
        var search_word = $(this).val(); 
        if (search_word.length > 0) { 
         alert(search_word); 
        } 
       },200); 
      }); 

Répondre

1

Vous rencontrez des problèmes avec la portée variable. this fait référence à la fonction intérieure ..

Utilisez ce lieu:

$("input").on("keypress", function() { 
    var that = this; 
    setTimeout (function() {    
     var search_word = $(that).val(); 
     if (search_word.length > 0) { 
      alert(search_word); 
     } 
    },200); 
});​ 

JSFIDDLE

2
$("input").on("keypress", function (e) { 
    alert(String.fromCharCode(e.which)); 
}); 
+0

Merci beaucoup –

1

Vous pouvez utiliser keyup, il est tiré après l'entrée a la valeur, de sorte que vous ne faites pas besoin d'un délai d'attente. http://jsfiddle.net/yF2hU/

$('#foo').bind('keyup', function(e) { 
    alert($(this).val()); 
});​ 
+0

Merci beaucoup –