Bonjour à tous,
Je gère actuellement un JS permettant de transférer d'un tableau à l'autre des lignes ayant des evenements.
Pour cela, j'utilise cette fonction qui permet de générer une nouvelle ligne en lui attribuant des Event :
Seulement j'aimerai attribuer une variable à chacun de ces 'event' par rapport à leurs 'id'. J'avais essayer de faire :
mais le 'for' fait que tous mes nouveaux éléments ont la même variable au final.
J'ai donc trouver un script permettant de récupérer un élément par rapport à son évènement, mais cela ne fonctionne pas sous FireFox, par exemple pour changer la class :
Ma question est donc :
Auriez-vous une idée pour récupérer un évènement par l'Event (pour IE et FF) ?
Ou bien une solution pour appliquer des évènements avec une valeur générer dynamiquement ?
Merci d'avance.
Modifié par Zetura (25 Aug 2008 - 13:44)
Je gère actuellement un JS permettant de transférer d'un tableau à l'autre des lignes ayant des evenements.
Pour cela, j'utilise cette fonction qui permet de générer une nouvelle ligne en lui attribuant des Event :
function GoDroite(){
var liste = document.getElementById('listeGauche').getElementsByTagName('td');
for(i = 0; i<liste.length; i++) {
var elem = liste[\i];
if(elem.className == 'beSlt')
{
var contenu = elem.innerHTML;
var valeur = elem.id;
alert(valeur);
var nbrow = document.getElementById('listeDroite').getElementsByTagName('td').length;
nbrow--;
var newRow = document.getElementById('listeDroite').insertRow(nbrow); //On crée une nouvelle ligne
newRow.className = 'lnStyle';
var newCell = newRow.insertCell(0); //On crée la cellule
newCell.innerHTML = contenu;
newCell.id = valeur;
newCell.className = 'noSlt';
if(document.all){
newCell.attachEvent("onmouseover", addClassOver);
newCell.attachEvent("onmouseout", delClassOver);
newCell.attachEvent("onmousedown", sltThisD);
} else {
newCell.addEventListener("mouseover", addClassOver, false);
newCell.addEventListener("mouseout", delClassOver, false);
newCell.addEventListener("onmousedown", sltThisD, false);
}
document.getElementById('listeGauche').deleteRow(i);
i--;
}
}
}
Seulement j'aimerai attribuer une variable à chacun de ces 'event' par rapport à leurs 'id'. J'avais essayer de faire :
newCell.onmouseover = function(){addclassover(valeur_de_lid)};
à la place de :
newCell.attachEvent("onmouseover", addClassOver);
newCell.addEventListener("mouseover", addClassOver, false);
mais le 'for' fait que tous mes nouveaux éléments ont la même variable au final.
J'ai donc trouver un script permettant de récupérer un élément par rapport à son évènement, mais cela ne fonctionne pas sous FireFox, par exemple pour changer la class :
function addClassOver(event){
var x = event || window.event;
var elt = x.target || x.srcElement;
if(elt.className == 'noSlt'){
elt.className = 'noOverMouse';
}
else if(elt.className == 'beSlt'){
elt.className = 'beOverMouse';
}
}
Ma question est donc :
Auriez-vous une idée pour récupérer un évènement par l'Event (pour IE et FF) ?
Ou bien une solution pour appliquer des évènements avec une valeur générer dynamiquement ?
Merci d'avance.
Modifié par Zetura (25 Aug 2008 - 13:44)