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 :
en dessous de
Code : Sélectionner tout - Visualiser dans une fenêtre à part cible.addEventListener("keypress",lesKeys,false);Résultat : NIET
Code : Sélectionner tout - Visualiser dans une fenêtre à part cible.addEventListener("click",lesKeys,false);
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 obj.attachEvent(....)
Résultat : NIET
Code : Sélectionner tout - Visualiser dans une fenêtre à part cible.onkeypress = function(){blabla... ;};
En fin le code de test le plus proche du développement réel :
Fonctionne très bien pour l'évènement "click" seulement
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; } } })();
J'imagine que vous avez déjà goûté à ces joyeusetés... : des solutions ?
Merci
Partager