begin process at 2012 02 13 07:39:07
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Javascript / DHTML / Ajax

 > 

JavaScript Orienté objet (POO)

 > 

Evènements

 > 

Affectation d'un fonction pour un evenement pour IE et FF?


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Affectation d'un fonction pour un evenement pour IE et FF?

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ée 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û changer le sens d'un texte qui défile [ par anthony428 ] Bonjour à tous, je viens de plonger les mains dans un site dont je suis chargé de faire la refonte et je souhaiterais changer le sens du texte qui d Récupération des champs input js en php [ par farsicomores ] Bonjour! Je suis entrain de faire un formulaire dynamique en js qui marche bien. Maintenant je voudrais récupéré les champs en php pour insérer dans l Chargement ajax du contenu au clic sur marqueur Google Maps V3 [ par vince240986 ] Bonjour, Voilà plusieurs jours que je bloque sur la création d'une fonction. L'idée est la suivante, j'ai crée une appli avec une base de données et slider [ par guilstunt ] Bonjour a tous je suis entrain de créer une slide barre. Jusque la j'ai réussi, j'arrive aussi a enregistrer la valeur dans ma BDD. Mon probleme c'e Probleme de calcule dynamique [ par farsicomores ] Bonjour l'équipe! Je suis entrain de travailler sur un site et je suis bloqué sur un script que j'ai récupéré ici et je vous l'envoie s'il est possi Probleme de calcule dynamique [ par farsicomores ] Bonsoir! Je suis entrain de faire un formulaire qui calcule un devis automatiquement. pour cela je crée des champs dynamiquement pour permettre de sai récupérer des champs créer dynamiquement [ par farsicomores ] bonjour je suis entrain de faire un formulaire de saisi et je créer les champs dynamiquement et et je voudrais calculé les valeurs mais je n'y arrive ui.datepicker.js : problème de choix d'années :( [ par begueradj ] Bonjour J'ai télécharger le core.ui.datepicker/ui.datepicker.js Il fonctionne bien. Seulement, le choix de l'année qu'il propose commence toujours Requête Ajax avec Jquery [ par monoski ] Bonsoir tout le monde j'aimerai bien passer à Jquery pour mes requêtes ajax qui sont codées actuellement en "dur" on va dire ^^ Alors ayant lu les do


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,995 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales