Intercepter touche tab avec ie7

spidle33 Messages postés 14 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 2 septembre 2014 - 25 janv. 2009 à 13:11
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 - 26 janv. 2009 à 17:45
Bonjour,

je rencontre un problème sur un script js. J'essaie d'intercepter la touche tab pour executer une action. Dans Firefox le code suivant fonctionne très bien :






Mais en passant sous ie7, c'est comme si il n'interceptait pas du tout la touche tab. Je ne peux donc pas executer une fonction (à la place du alert).

Quelqu'un a -t-il déjà rencontr" cec problème ?

Merci de votre aide.

7 réponses

Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
25 janv. 2009 à 13:27
bonjour,

le comportement IE et FF différent... là aussi
avec IE, tab est "géré par le navigateur" et pas avec FF

là, ça te gène, mais perso, ça me gène avec FF dans certains cas !
ici, par exemple, en saisie, impossible de décaler, d'indenter...
<tab une ligne pour la présentation, la lisibilité...

teste le tab sur les champs de saisie, par exemple... ça baigne avec tous
on peut de toute manière sûrement faire autrement, tout dépend
du pourquoi et comment tu veux faire 

( mais, si tu sais comment sur ce site, ou un autre, autoriser le
tab dans cette zone de saisie je suis preneur )

Cordialement

          [mon Site] [M'écrire] Bul         
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
25 janv. 2009 à 13:30
oups... trop vite envoyé...

onkeydown et ça baigne...

          [mon Site] [M'écrire] Bul         
0
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
25 janv. 2009 à 13:36
oups.. encore....

mais, si tu sais comment sur ce site, ou un autre, autoriser le
tab dans cette zone de saisie avec Firefox :( avec IE c'est ok )  je suis preneur

pour en revenir au souci, onblur, onfocus... pourraient aussi peut-être convenir
d'autres pistes sont possibles, ça dépend du contexte...

[mon Site][M'écrire]Bul
0
spidle33 Messages postés 14 Date d'inscription mercredi 18 mai 2005 Statut Membre Dernière intervention 2 septembre 2014
25 janv. 2009 à 14:59
En fait le problème inverse n'est pas tout à fait le même. Ce que je ne comprends pas, c'est que IE sappe la détection et le lancement d'une fonction sur une touche précise (puisque ça marche avec les autres touches). Il doit bien y avoir un moyen de lancer une fonction en appuyant sur tab dans IE ?

Mon problème est surtout du au fait qu'au moment au j'appuie sur tab, je dois, en javascript, insérer un nouveau champ texte dans ma page et mettre le focus sur celui-ci. Dans FF ça passe nikel, mais là, le simple blocage de l'appel de fonciton sur tab me plombe le truc...

Et c'est sur d'avoir une alternative puisque de toute façon la touche tab est "annihilée" par le navigateur. Moi je trouve que c'est un peu une abhérration... (mais ce n'est pas le sujet).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Bul3 Messages postés 4933 Date d'inscription samedi 1 juillet 2006 Statut Membre Dernière intervention 2 février 2015 14
25 janv. 2009 à 15:28
>>doit bien y avoir un moyen de lancer une fonction en appuyant sur tab dans IE
ben... comme dit : onkeydown sur le body
ou onkeypresse, onblur, onfocus sur les champs ...etc
[mon Site][M'écrire]Bul
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
26 janv. 2009 à 17:38
Bonjour,
<table bgcolor="#e6effe" border="0" cellpadding="5" cellspacing="0" width="100%">----, autoriser le tab dans cette zone de saisie
avec Firefox</td>
</td></tr></tbody></table>il ne
faut dans ce cas pas passer par l'événement sur la balise, du type , mais lui ajouter l'événement via addEventListener ou attachEvent pour IE...
;O)
0
PetoleTeam Messages postés 3426 Date d'inscription lundi 26 décembre 2005 Statut Membre Dernière intervention 14 janvier 2011 16
26 janv. 2009 à 17:45
un petit exemple vite fait pour test
<html>
<head>

<script type= "text/javascript">
var KEY_TAB = 0x09;
//--------------------------
function
Fct_Clavier( event){
  var Inc = 0;
  try{
    switch(
event.keyCode) {
      case KEY_TAB :
        alert('TABULATION');

        this.focus();
        break;
      default :

        return( true);
        break;
    }
  }

  catch(e1){}
  return( false);
}
//---------------------------------------------

function Add_Event( obj_, event_, func_, mode_){
  if(
obj_.addEventListener)
    obj_.addEventListener( event_, func_, mode_?
mode_:false);
  else
    obj_.attachEvent( 'on'+event_, func_);
}

//------------------
function
InitPage(){
  var Obj = document.getElementById("T_TEST");
  //--- NE PAS UTILISER pour IE Add_Event( document, 'keypress',
Fct_Clavier);
  Add_Event( Obj, 'keydown', Fct_Clavier);
}

//////////////////////////////////////

Add_Event( window, 'load', InitPage);
</script>

</head>

<textarea
id="T_TEST"></textarea>
<textarea
onkeydown="Fct_Clavier();"></textarea>


</html>
;O)
0