Création d'éléments HTML en JavaScript. Je viens de me rendre compte qu'on ne peux pas créer des objets avec l'"eventListener" en utilisant une boucle for par exemple et en récupérant un identifiant suivant la valeur de l'incrément de la boucle. Il faut obligatoirement récupérer l'identifiant du déclenchement avec "event", sinon il garde la dernière valeure de l'incrément de la boucle.
1 /**
2 * Ajouter un Evénement JS à un élément
3 *
4 * @access public
5 * @return void
6 **/
7 function eventListener( elem, event, action ){
8 if( elem.addEventListener ) {
9 elem.addEventListener( event, action, false) ;
10 } else if( elem.attachEvent ) {
11 elem.attachEvent( "on" + event, action );
12 } else { alert( 'Erreur de chargement.\nVotre navigateur n\'est pas supporté.' ); }
13 }
14
15 /**
16 * Création d'un élément <IMG>
17 */
18 var elemImgExemple = document.createElement("img");
19 elemImgExemple.id = "img1";
20 elemImgExemple.alt = "Image exemple";
21 elemImgExemple.src = "picture.png";
22 elemImgExemple.style.width = "50px";
23 elemImgExemple.style.height = "80px";
24 elemImgExemple.setAttribute( "useMap", "#mapImg" );
25
26 eventListener(elemImgExemple, "mouseover", function() { alert( 'hello world!' ); }
27 eventListener(elemImgExemple, "mouseout", functionImage } // appel de la fonction functionImage();
28 eventListener(elemImgExemple, "click", function(event) { idName = (document.all) ? event.srcElement.id : event.target.id; alert( idName ); }
29
30 document.getElementById( 'elemParent' ).appendChild( elemImgExemple );
Pages : 1