Bonjour,

Je cr�e actuellement un petit bout de code qui est cens� red�finir des raccourcis clavier.
J'ai notamment une page o� quand je fais ctrl + m, cela m'activer un bouton "modification", quand je fais ctrl + n, j'active un autre bouton, etc ...

Tout fonctionne tr�s bien. Exemple, j'ai une action sur ctrl + F, firefox ne m'ouvre pas la recherche et r�alise bien l'action que je demande derri�re.

Cependant j'ai remarqu� une anomalie. C'est que d�s que cette action r�alise une ouverture de fen�tre (open popup, ou une simple fen�tre "alert" ou "confirm") mon action est ex�cut� mais aussi celle par d�faut du navigateur (seulement sous firefox) !

Exemple : ctrl + S est cens� m'activer une action de suppression, ce qu'il fait bien, mais avant cela j'affiche une alert pour confirmer la suppression, et � cause de cette alert, la fen�tre de "sauvegarder sous..." s'ouvre �galement !!

Si j'enl�ve cette alert, aucun probl�me ! Et sous IE le code fonctionne correctement.

Voici mon code qui bloque et capture les touches :

Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<SCRIPT language=javascript>
	function __getKeyCode(e){
    	var intKey = 0;
    	if (e.keyCode) {
	        intKey = e.keyCode;
	    }
    	else {
        	if (e.which) {
	            intKey = e.which;
        	}
    	}
    	return intKey;
	}
 
	function stopEvent(e) {
	    if (e.preventDefault) {
	        e.preventDefault();
	        e.stopPropagation();
	    }
	    else {
	        e.returnValue = false;
	        e.cancelBubble = true;
	        e.keyCode = 0;
	    }
	    return false;
	}
 
	function ControlKeyDown(e) {
		if (!e) {
     	   var e = window.event;
    	}
    	var iTouche = __getKeyCode(e);
 
    	if (((iTouche >= 65 && iTouche <= 90) || (iTouche >= 97 && iTouche <= 122)) && e.ctrlKey) {
        	stopEvent(e);
        	alert('coucou !!');
    	}
	}
 
	document.onkeydown = ControlKeyDown;
</SCRIPT>
Ce comportement est il normal ? ai je fait une erreur dans mon code ? Merci beaucoup d'avance !