|
Trouver une ressource
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)
Informations & options pour cette discussion
|
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
|
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
|
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?
|
|
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
|
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?
|
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
Livres en rapport
|
|