2010-05-15 6 views

Répondre

2

Si vous utilisez jQuery, vous pouvez le faire:

$('#myTextarea').keydown(function(e) { 
    if(e.which == 13) { 
     // Enter was pressed. Run your code. 
    } 
}); 

Le gestionnaire keypress fonctionne sur chaque pression de touche, et les tests de la touche « Enter ».

EDIT:

Changé keypress à keydown, comme keypress peut exécuter le code plusieurs fois si l'utilisateur maintient Enter. Probablement pas ce qui est désiré.

+0

Pourquoi 'which' et pas' keyCode'? – eyelidlessness

+0

@eyelidlessness - keyCode serait bien aussi. Je viens d'utiliser «e.which» sur la recommandation docs jQuery http://api.jquery.com/event.which/, mais dans ce cas, il n'y a pas de bénéfice particulier. – user113716

+0

Votre réponse n'est pas complète;): 'charCode' prend tous les caractères ('a', 'Q' etc.) en compte. Si vous n'avez pas appuyé sur un caractère, la valeur du code sera stockée dans 'keyCode' ('Enter', 'Tab', etc.). 'which' couvre à la fois' keyCode' et 'charCode'. – Harmen

1

Abonnez-vous pour l'événement onkeydown et détecter le code clé de retour.

2

Utilisez simplement une entrée de texte normale, cette fonctionnalité est intégrée. Les zones de texte sont supposées être "retournables", ce qui rend le formulaire soumis en retour dans une zone de texte va dérouter vos utilisateurs.