chimelpremier
Messages postés544Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention20 mai 2005
-
5 févr. 2005 à 01:35
chimelpremier
Messages postés544Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention20 mai 2005
-
6 févr. 2005 à 20:28
Bonjour,
attachEvent, chez IE doit permettre d'attacher plusieurs "event handler" à un élément. Cela marche bien avec "onload", mais je coince sur d'autres éléments.
<html>
<head>
<script type="text/javascript">
function chg1(x){document.links[x].style.backgroundColor="red"}
function chg2(x){document.links[x].style.backgroundColor="blue"}
// erreur : "document.links[...].style a la valeur Nulle ou n'est pas un objet"
function init(){
for(var i=0; i < document.links.length; ++i){
document.links[i].attachEvent("onmouseover",function(){chg1(i)});
document.links[i].attachEvent("onmouseout",function(){chg2(i)});
}
}
function init(){
i=0 // ici sur le premier lien
document.links[i].attachEvent("onmouseover",function(){chg1(i)});
document.links[i].attachEvent("onmouseout",function(){chg2(i)});
}
Il doit y avoir une solution sans faire une usine à gaz? Merci d'avance pour votre aide.
chimelpremier
Messages postés544Date d'inscriptionvendredi 5 décembre 2003StatutMembreDernière intervention20 mai 2005 6 févr. 2005 à 16:35
Merci Bultez pour ta réponse, mais elle équivaut à
document.links[i].onmouseover = function(){chg1(i)
La nouvelle valeur de l'attribut remplace la précédente, par contre, avec
attachEvent, ou addEventListener pour le DOM 2,
la valeur originelle n'est pas écrasée.
Voici un autre exemple:
<html>
<head>
<script type="text/javascript">
function chg1(x){document.links[x].style.backgroundColor="red";}
function chg2(x){document.links[x].style.color="white"}
function chg3(x){document.links[x].style.border="5px solid green"}
/*
function init(){
for(var i=0; i < document.links.length; ++i){
document.links[i].attachEvent("onmouseover",function(){chg1(i)});
document.links[i].attachEvent("onmouseover",function(){chg2(i)});
document.links[i].attachEvent("onmouseover",function(){chg3(i)});
}
}
// erreur : "document.links[...].style a la valeur Nulle ou n'est pas un objet"
*/
function init(){
i=0 // ici sur le premier lien
document.links[i].attachEvent("onmouseover",function(){chg1(i)});
document.links[i].attachEvent("onmouseover",function(){chg2(i)});
document.links[i].attachEvent("onmouseover",function(){chg3(i)});
}