Raccourcis clavier

Résolu
cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 - 13 sept. 2007 à 14:19
cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 - 14 sept. 2007 à 15:29
Salut ... j'ai un petit pb ...
j'ai récupéré ce code qui permet de bloquer l'usage de certaines combinaisons de touche s... j'aimerai bien le modifier afin de mettre en place des raccourcis clavier ...
par exemple ctrl + R pour placer automatiquement le focus sur un champ de texte ou ctrl + D pour appeler une URL prédéfinie....
en revanche j'ai du mal à voir comment faire ...
quelqu'un aurait il une piste ?
thx
@++

     var DisableKeys = Array(
// BackSpace
// 8,
// Touches F1 à F12
112,113,114,115,116,117,118,119,120,121,122,123
);
var DisableCtrlKeys = Array(
// n
78,
// d
68
);

function bloqueTouche(e) {
    var ie = window.event;
    if (ie){
        e = window.event;
    }

    if(e.ctrlKey) { //Touche Ctrl enfoncée
        for (i=0;i<DisableCtrlKeys.length;i++) {
            if(e.keyCode == DisableCtrlKeys[i]) {
                if (ie) {
                    e.keyCode=0;
                    e.returnValue = false;
                }
                return false;
            }
        }
    }
    for (i=0;i<DisableKeys.length;i++) {
        if (e.keyCode == DisableKeys[i]) {
            if (ie) {
                e.keyCode=0;
                e.returnValue = false;
            }
            return false;
        }
    }
}
document.onkeydown=bloqueTouche;

 </script>

5 réponses

cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 sept. 2007 à 14:57
bonjour,

ch'tit début, à toi d'adapter à ce que tu veux....

<html>
<head>
<title>page ALC</title>
<script type='text/javascript'>
function touchesSpeciales(ev)
{   var alt      = ev.altKey;
    var shift    = ev.shiftKey;
    var ctrl     = ev.ctrlKey;
    var touche   = ev.keyCode;
    var codeHTML='';
    if (shift)    codeHTML += 'shift + ';
    if (ctrl)     codeHTML += 'ctrl + ';
    if (alt)      codeHTML += 'alt + ';
    if (touche>31)   // à partir de espace
    {  codeHTML += touche+'
';;
       document.getElementById('out').innerHTML += codeHTML;
       // ici, on affiche le "N° de touche", il te reste à tester
       //

cette valeur


et déclencher l'action que tu désires.
    }
}
</script>
</head>

</html>







<hr />




Cordialement                Bul         [mon Site]     [M'écrire]<hr />
En général, c'est absurde de généraliser.
3
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 sept. 2007 à 15:00
petite précision : ça ne prendra pas le pas sur les
    combinaisons de touches déjà gérées par le navigateur.
<hr />



Cordialement                Bul         [mon Site]     [M'écrire]<hr />
En général, c'est absurde de généraliser.
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
13 sept. 2007 à 15:03
Salut,

Ben il te suffit de modifier la fonction bloqueTouche :

function bloqueTouche(e) {
    var ie = window.event;
    if (ie){
        e = window.event;
    }

    if(e.ctrlKey) { //Touche Ctrl enfoncée
        for (i=0;i<DisableCtrlKeys.length;i++) {
            if(e.keyCode == DisableCtrlKeys[i]) {
                if (ie) {
                    e.keyCode=0;
                    e.returnValue = false;
                }
                return false;
            }
        }
       if (e.keyCode == 78) {   // CTRL + N
          // faire le traîtement pour l'appuie sur CTRL + N
       } else if (e.keyCode == 79) { // CTRL + O
          // faire le traîtement pour l'appuie sur CTRL + O
       }
       // etc.
    }
    for (i =0;i<DisableKeys.length;i++) {
        if (e.keyCode == DisableKeys[i]) {
            if (ie) {
                e.keyCode=0;
                e.returnValue = false;
            }
            return false;
        }
    }
}
______________________________________
DarK Sidious
0
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
13 sept. 2007 à 15:07
on peut aussi utiliser les "accesskey"
    Exemple
<hr />



Cordialement                Bul         [mon Site]     [M'écrire]<hr />
En général, c'est absurde de généraliser.
0

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

Posez votre question
cs_caviar Messages postés 329 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 29 mars 2015 2
14 sept. 2007 à 15:29
    excellentissime !! merci beaucoup à vous !
ça marche impec !
@+
0
Rejoignez-nous