2010-08-05 5 views
1

Je me demandais juste si l'un de vous a fait un onkeypress sur un bouton.Comment faire pour détecter "tab keypress" lorsque le focus est sur un bouton en utilisant JavaScript

mon bouton est comme ceci:

asp:Button ID="btnClear" runat="server" Text="Clear" onkeypress="return goToFirst();"/> 

le javascript:

function goToFirst(evt) { 
    var e = event || evt; // for trans-browser compatibility 
    var charCode = e.which || e.keyCode; 

    alert(charCode); 
    if (charCode = 9) { 
     document.getElementById('txtFirstName').focus(); 
     document.getElementById('txtFirstName').select(); 
    } 

    return false; 

Mon but est de détecter la pression de touche de tabulation sur un bouton et mettre l'accent sur la zone de texte spécifiée quand on appuie sur la touche.

Le problème est que l'événement onkeypress ne se déclenche pas lorsque vous appuyez sur la touche de tabulation. D'autres touches comme les chiffres et les lettres déclenchent l'événement, mais pas l'onglet.

Existe-t-il une solution à mon objectif?

Merci d'avance!

+1

Vous pouvez également fixer l'instruction if (;. – JSmyth

Répondre

6

utilisez onkeydown. voici un demo

<input ID="btnClear" onkeydown="return goToFirst();"/> 

.

function goToFirst(evt) { 
    var e = event || evt; // for trans-browser compatibility 
    var charCode = e.which || e.keyCode; 

    alert(charCode); 
    if (charCode == 9) { 
     document.getElementById('txtFirstName').focus(); 
     document.getElementById('txtFirstName').select(); 
    } 

    return false; 
}; 
+0

ça a l'homme merci !!! Maintenant je me sens stupide de ne pas essayer autre événement :( – Peejay

+0

'onkeypress' est une combinaison de' 'onkeydown' et onkeyup 'peut-être essayer' onkeyup', que peut-être, vous saurez pourquoi cela n'a pas fonctionné sur 'onkeypress' .. :) – Reigel

+0

onkeyup a également travaillé, se demander pourquoi onkeypress ne fonctionne pas?! ... de toute façon merci beaucoup! – Peejay

Questions connexes