Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Affectation d'un fonction pour un evenement pour IE et FF? [ JavaScript Orienté objet (POO) / Evènements ] (dudulebzh35)

mercredi 9 juillet 2008 à 10:35:40 | Affectation d'un fonction pour un evenement pour IE et FF?

dudulebzh35

Bonjour a tous,

J'ai une liste avec le nom de fichiers et de repertoires (dans une table). Lorsque je clique sur un repertoire, je vois ses fichiers, jusque la rien d'exceptionnel mais j'ai un problème lorsque je veux recréer ma nouvelle liste avec les nouveaux fichiers, j'arrive pas a redéfinir correctement mes evenements.
Un ptit bout de code (?)
Lorque je double clique sur un repertoire : (version allégée)

function

Row_OnDoubleClick(obj) {
  if (!obj) obj = this; // explication de cette ligne + bas
  var chaine = "../../Ajax/Default.aspx?folder=" + escape(folder);
  var ajax = new oAjax(chaine);
  var text = ajax.CallBackRequest();
  CreateRows(text);
}

Petite explication, dans la page html j'ai mis comme evenement pour le double clique de ma ligne :
maligne.ondblclick = "Row_OnDoubleClick(this);"

Donc quand je recréé ma liste, je commence par supprimer mes lignes de ma table :
function DeleteRows() {
   if (tabFile) {
      for (i = tabFile.rows.length - 1; i > 0 ; i --) {
            tabFile.deleteRow(i); 
      }
   }
}
Ensuite je créé mes nouvelles lignes :

function

AddRows(isfolder, filename, size, i) {
   if (tabFile) {
      var row = tabFile.insertRow(i);
      
var c1 = row.insertCell(0);
      var img = document.createElement("IMG");
      
if (isfolder == 0) {
         row.setAttribute(
'isfolder','True');   
         img.src =
"../../Images/folder.png";
      }
      else {
         row.setAttribute(
'isfolder', 'False');
         img.src =
"../../Images//file.bmp";
      }
      c1.appendChild(img);

      var c2 = row.insertCell(1);
      c2.innerHTML = filename;

      var c3 = row.insertCell(2);
      if (size > -1) c3.innerHTML = size;
      
      if
(!pair(i)) row.className = "RowImpair";
      else row.className = "RowPair";

     row.onmouseover = Row_OnMouseOver;
      row.onmouseout = Row_OnMouseOut;
      row.ondblclick = Row_OnDoubleClick;
      row.onclick = Row_OnClick;
   }
}

J'ai mis ce qui pose probleme en rouge. Donc sous IE, j'ai dû redéfinir la variable "obj" en fesant if (!obj) obj = this; (voir + haut) et sous FF il me dit que obj et du type mouseEvent, alors comment faire pour définir une fonction a une ligne (par exemple) avec comme parametre soit meme.

J'espere avoir assez clair, sinon je vous fait confiance pour me le dire...
merci d'avance
Kenavo.

mercredi 9 juillet 2008 à 10:55:22 | Re : Affectation d'un fonction pour un evenement pour IE et FF?

bultez

Membre Club


Bonjour,
si j'ai bien compris tu veux récupérer le n° de ligne dans la fonction ?

soit :
        row.num=i;
      row.onclick = function() { alert(this.num); }
soit :
        row.onclick=function(index)
            {     return function()
                { alert(index);};
            }    (i);               
       

et je me garderai bien de te dire quelle est la meilleure !



                Cordialement            Bul         [mon Site]     [M'écrire]

mercredi 9 juillet 2008 à 11:35:57 | Re : Affectation d'un fonction pour un evenement pour IE et FF?

dudulebzh35

re,

Je voudrais affecter au clique de ma ligne une fonction déjà défini et qui a comme parametre soit meme.
function MaFonction(obj) {
// obj represente this.
}

maligne.onclick = MaFonction;

(j'espere que la syntaxe est correcte?)

le probleme est qu'avec IE, je suis obligé dans la fonction de faire :
if(!obj) obj = this;
et avec FF, this represente l'objet eventMouse.
Comment faire pour affecter une fonction avec comme parametre soit meme.


mercredi 9 juillet 2008 à 12:11:38 | Re : Affectation d'un fonction pour un evenement pour IE et FF?

bultez

Membre Club

tu veux appeler une fonction avec en paramètre elle-même ?
     pas compris... navré.    enfin, le but au moins...
tu veux récupérer l'évênement qui a provoqué la fonction ? c'est ça ?
   

                Cordialement            Bul         [mon Site]     [M'écrire]

mercredi 9 juillet 2008 à 12:23:23 | Re : Affectation d'un fonction pour un evenement pour IE et FF?

dudulebzh35

Je genere les lignes de ma table en vb.net et je met dans l'evenement onclick=maFonction(this);
comme ca dans la fonction, je peux librement utiliser ma ligne.

function

MaFonction(obj) {
   obj.cells[0]....
}

Et quand je clique sur une ligne j'efface mes lignes pour en créer d'autres. Donc je les créer en javascript et j'ai besoin d'affecter au click sur la nouvelle ligne le meme evenement que j'ai generé en vb.
donc pour ce faire je fait :
maligne.onclick = MaFonction;

j'aimerai faire un truc du genre :
maligne.onclick = MaFonction(maligne);
mais comme ca, ca n'existe pas. est ce possible ? ou si vous avez une autre solution, je suis preneur.

mercredi 9 juillet 2008 à 13:08:42 | Re : Affectation d'un fonction pour un evenement pour IE et FF?

bultez

Membre Club
Réponse acceptée !


ai-je percuté ?

élément.onclick=function() { MaFonction(this);    };

quelques explications ici



                Cordialement            Bul         [mon Site]     [M'écrire]

mercredi 9 juillet 2008 à 13:56:32 | Re : Affectation d'un fonction pour un evenement pour IE et FF?

XtremDuke

j'aimerai faire un truc du genre :
maligne.onclick = MaFonction(maligne);
mais comme ca, ca n'existe pas

Je ne comprends pas ton problème :

row.onmouseover = Row_OnMouseOver(row);
row.onmouseout = Row_OnMouseOut
(row) ;
row.ondblclick = Row_OnDoubleClick
(row) ;
row.onclick = Row_OnClick
(row) ;

???

mercredi 9 juillet 2008 à 14:02:19 | Re : Affectation d'un fonction pour un evenement pour IE et FF?

dudulebzh35

XtrmDuke tu as essayé ce que tu as mis ? si ca fonctionne tu as plus de chance que moi.

Sinon Bultez tu as parfaitement percuté, c'est tout a fait ca, j'avais regardé le totorial mais je suis passé un peu a coté
Merci.


mercredi 9 juillet 2008 à 14:04:32 | Re : Affectation d'un fonction pour un evenement pour IE et FF?

bultez

Membre Club
et bein.. ça ça baigne :
                     row.onclick=function() { MaFonction(this);    };
même principe pour les autres évênements

                Cordialement            Bul         [mon Site]     [M'écrire]

mercredi 9 juillet 2008 à 14:08:57 | Re : Affectation d'un fonction pour un evenement pour IE et FF?

dudulebzh35

Oui c'est ce que j'ai fait aussi ...


1 2

Cette discussion est classé dans : var, row, obj, if, tabfile


Répondre à ce message

Sujets en rapport avec ce message

Enregistrer drag n drop [ par tales ] Bonjour,Je voudrais savoir comment enregistrer la position de mes images aprés un drag n drop.Que lorsque je réaffiche ma page mes images soient là oû probleme avec document.writ() [ par neolin85 ] Bonsoir à tous,Je souhaite construire un menu horizontal sauf que j'ai un soucis avec la méthode write de la classe document.En fait, chaque fois que Problème de listes déroulantes liées / incompatibilité [ par dulcigirl ] Bonjour a tous ! Je suis étudiante et dans le cadre d'un projet, j'ai besoin de de réaliser des listes déroulantes liées.Jusque là, aucun soucis, les Variables PHP dans JS [ par Dyx50 ] Bonjour,Alors voila depuis 2 jours je me casse la tête à propos de ma question. J'explique mon problème :J'ai un espace membre ou le membre peut ajout Une ame charitable pour arrander un script [ par balous001 ] bonjour a tous et a toutes !Je sollicite votre aide pour arranger un script defectueux.Je m'explique:Je vient de crée un forum chez l'hebergeur forum Rafraichir variable php dans une <div> [ par sagaff ] Bonjours, je possède un code js, qui me permet de rafraichir une variable php réguièrement avec setInterval. Mais le problème c'est que le code ne fon Loader AJAX [ par boulika ] Bonjour à tous,Je viens de trouver une fonction mais je n'arrive pas y rajouter de loader avec readstate comment faire ? Je ne connais rien en JS et e Mouseover progressif image [ par Alt0car ] Bonjour, je développe actuellement un site web qui est accès sur beaucoup d'animations.J'ai rencontré un problème du au poids de mes pages contenant t Afficher texte avec X et Y [ par bshaka ] Bonjour à tous,j'ai trouvé sur le web cette fonction qui affiche date et heure à une position x et y, pour l'appeler, je fais :InitHorloge(265,56,"fon


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,265 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.