Bonjour,
Mon client demande que certaines fonctions implémentées - et qui fonctionnent déjà sur le site en exploitation - puissent être appelées par raccourcis claviers.
Les touches F8, F9 et F10 sont d'ailleurs visées.
J'ai donc ajouté dans le code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cible.addEventListener("keypress",lesKeys,false);
en dessous de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cible.addEventListener("click",lesKeys,false);
Résultat : NIET
Evidemment, le code ci-dessus est raccourci ; il comprend en réalité la possibilité IE : Puisque cela ne fonctionne pas, je suis revenu au DOM antérieur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cible.onkeypress = function(){blabla... ;};
Résultat : NIET
En fin le code de test le plus proche du développement réel :
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
(function(){
	if(window.addEventListener) window.addEventListener("load", init, false);
	else if (window.attachEvent) window.attachEvent("onload", init);
 
	function init(){
		var ob = new obj();
	}
	function obj() {
		var this4Event = this;//fermeture
		this.name='';
		this.container = document.getElementById('Bob');
		this.container.innerHTML="Bob";
		this.alertName = function () {
			alert( this.name);
		}
		this.eventclickhandler = function(e) {
			alert(e.type);
			this4Event.mess('Bien');
			alert (this4Event.name);
		};
		addEvent(this.container,"click",this.eventclickhandler) ;
		addEvent(this.container,"keypress",this.eventclickhandler) ;
		addEvent(this.container,"keydown",this.eventclickhandler) ;
	}
	obj.prototype.mess = function(mes){
		this.name = mes;
	};
	function addEvent(obj, evType, fn) {
		if (obj.addEventListener){//Mozilla – firefox ….
			obj.addEventListener(evType, fn, false);
			return true;
		} 
		else if (obj.attachEvent){//IE
			var r = obj.attachEvent("on"+evType, fn);
			return r;
		} 
	}
})();
Fonctionne très bien pour l'évènement "click" seulement
J'imagine que vous avez déjà goûté à ces joyeusetés... : des solutions ?
Merci