begin process at 2010 02 09 21:44:52
  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û 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

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
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 : 0,328 sec (4)

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