salut à tous,
ça fait pas mal de temps que je joue avec les gestionnaires d'évenements JS, et je bute sur un problème épineux...
voilà, si j'écris dans une fonction : (je simplifie volontairement...)
ça marche dans tous les navigateurs, mais pas dans firefox qui m'affche "event is not defined".
vous noterez que j'ai absolument besoin de passer plusieurs arguments à la fonction "mafonction" (pas seulement event et this.id d'ailleurs...). je ne peux donc pas écrire :
le seul truc qui marche dans firefox est d'écrire par exemple :
ce qui fonctionne dans firefox et safari, mais peut être pas ailleurs ? et de toute façon ça revient à l'écrire en dur dans le code de la page... pas terrible.
donc la question est : existe-t-il un moyen de passer l'objet event en argument à firefox en DOM 0 ?
Petite précision : le vrai code est netement plus complexe, j'ai notamment besoin de préfixer l'appel à la fontion "monautrefonction" avec un nom d'objet, puisqu'elle est une méthode d'un objet. je l'appelle comme ceci, en tant que méthode de l'objet "monobjet" : monobjet.monautrefonction(...), et plus précisément pluisqu'il y a un passage de variable en argument dans la fonction "mafonction", comme ceci :
(j'ai échappé les brackets, le forum n'aime pas ça...)
je sais c'est pas très clair...
que pensez vous de tout ça ?
Modifié par pecos (13 Mar 2009 - 15:15)
ça fait pas mal de temps que je joue avec les gestionnaires d'évenements JS, et je bute sur un problème épineux...
voilà, si j'écris dans une fonction : (je simplifie volontairement...)
var toto = document.createElement("div");
toto.id = "id1";
toto.onmousemove = function(){ mafonction(event,this.id); };
document.body.appendChild(toto);
ça marche dans tous les navigateurs, mais pas dans firefox qui m'affche "event is not defined".
vous noterez que j'ai absolument besoin de passer plusieurs arguments à la fonction "mafonction" (pas seulement event et this.id d'ailleurs...). je ne peux donc pas écrire :
toto.onmousemove = mafonction;
le seul truc qui marche dans firefox est d'écrire par exemple :
toto.setAttribute("onmousemove","mafonction(event,this.id)");
ce qui fonctionne dans firefox et safari, mais peut être pas ailleurs ? et de toute façon ça revient à l'écrire en dur dans le code de la page... pas terrible.
donc la question est : existe-t-il un moyen de passer l'objet event en argument à firefox en DOM 0 ?
Petite précision : le vrai code est netement plus complexe, j'ai notamment besoin de préfixer l'appel à la fontion "monautrefonction" avec un nom d'objet, puisqu'elle est une méthode d'un objet. je l'appelle comme ceci, en tant que méthode de l'objet "monobjet" : monobjet.monautrefonction(...), et plus précisément pluisqu'il y a un passage de variable en argument dans la fonction "mafonction", comme ceci :
window\[identifiant\].monautrefonction(...);
ou "identifiant" n'est autre que l'argument 2 transmis pas la fonction "mafonction".(j'ai échappé les brackets, le forum n'aime pas ça...)
je sais c'est pas très clair...
que pensez vous de tout ça ?

Modifié par pecos (13 Mar 2009 - 15:15)