xactise
Messages postés507Date d'inscriptionmardi 18 février 2003StatutMembreDernière intervention22 juin 2012
-
16 févr. 2010 à 14:18
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 2011
-
3 mars 2010 à 18:07
Bonjour à tous.
je vous expose mon problème.
J'intéroge une base de donnée avec ajax, je récupère les donnée souhaité au format JSON, et j'utilise ces données pour faire du DOM.
Exemple ci dessous :
var globalDIV = document.getElementById('globalDIV');
for(var i=0; i<myJSON.length;i++)
{
var div = document.createElement("div");
div.onclick = function(){};
globalDIV.appendChild(div);
}
Mon souci est qu'au niveau de l'evenement "onClick" de mon element div créé. je souhaiterai faire une fonction avec paramètre. Après quelque recherche sur internet j'ai vu ceci :
//NOTE: showPopup();
//or showPopup(param);
//will NOT work here.
//Must be a reference to a function,
//not a function call.
En gros et si je comprends bien, on peut faire référence a une fonction existante ou directement créer sa fonction mais sans paramètre(s).
Or moi je voudrai bien lui ajouter un évènement onClick avec une fonction avec paramètre.
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 16 févr. 2010 à 21:32
Bonjour,
Or moi je voudrai bien lui ajouter un évènement onClick avec une fonction avec paramètre. ...une solution consiste à ajouter une propriété à l'objet et à l'utiliser dans la fonction, un petit exemple ci après
<html>
<head>
<script type="text/javascript">
//--------------------
function Init_Page( ){
var T_Div = document.getElementsByTagName( 'DIV');
for( var i = 0; i < T_Div.length; i++){
T_Div[i].param = i;
T_Div[i].onclick = function(){
switch( this.param){
case 0:
case 1:
alert( this.param +'\nINFERIEUR à 2');
break;
default:
alert( this.param +'\nSUPERIEUR à 1');
}
}
}
}
</script>
</head>
Ligne 1
Ligne 2
Ligne 3
Ligne 4
</html>
PetoleTeam
Messages postés3426Date d'inscriptionlundi 26 décembre 2005StatutMembreDernière intervention14 janvier 201117 3 mars 2010 à 18:07
Bonjour,
je ne sais pas si c'est "propre" ajouter une propriété à un objet, rien de plus courant...
...on aurait pu ajouter un attribut en utilisant setAttribute, cela aurait peut être été plus classe...
;O)