Bonjour,
J'ai cette petite fonction qui permet d'attacher un event à un élement créé dynamiquement par le DOM :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
registerEvent = function(on, ev, func, capture) {
	if (window.addEventListener)
		on.addEventListener(ev, func, capture);
	else {
		if (!on.funcsCounter) on.funcsCounter = 0;
		on['func'+on.funcsCounter] = func;
		on.funcsCounter++;
		on.attachEvent("on"+ev, function() { for(var i=0; i<on.funcsCounter; i++) on['func'+i](); });
	}
}
et on l'utilise de cette manière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
registerEvent(document.getElementById('myLink'), 'click', function() {
 
this.style.color = '#f00';
 
this.style.fontWeight = 'bold';
 
});
Pourquoi mon code ci-dessous pose problème ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
registerEvent = function(on, ev, func, capture) {
	if (window.addEventListener)
		on.addEventListener(ev, func, capture);
	else {
		if (!on.funcsCounter) on.funcsCounter = 0;
		on['func'+on.funcsCounter] = func;
		on.funcsCounter++;
		on.attachEvent("on"+ev, function() { for(var i=0; i<on.funcsCounter; i++) on['func'+i](); });
	}
}
 
fillservices = function() { 
                           alert(this.value);
               }
 
monInput = document.createElement("<input name='services'>");
monInput.type = "radio"; 
var monInputId = monInput.id = 'services'+items[i].getElementsByTagName('valeur')[0].firstChild.nodeValue;
monInput.value = items[i].getElementsByTagName('valeur')[0].firstChild.nodeValue;
document.body.appendChild(monInput);
 
registerEvent(document.getElementById(monInputId), 'click', fillservices);
Merci d'avance...