Le code ci-dessous crée plusieurs canevas avec des zones de saisie relatives.Créer plusieurs canevas dans une boucle, seule la dernière fonction est appelée
Le problème est que, après l'exécution du code, seul le dernier canevas et sa boîte de saisie fonctionnent.
var art = function() {
for (var i = 1; i <= 3; i++) {
var div = document.createElement("div");
var inpbx = document.createElement('input');
var canvas = document.createElement('canvas');
document.getElementById("bx").appendChild(div);
div.appendChild(inpbx);
div.appendChild(canvas);
canvas.style = "border:1px solid gray; height:100px";
var updateCanvas = function() {
var ctx = canvas.getContext("2d");
ctx.clearRect(0, 0, 300, 300);
ctx.font = "30px Arial";
ctx.fillText(inpbx.value, 10, 50);
};
inpbx.addEventListener("change", updateCanvas, false);
}
};
<button onClick="art()">Do some</button>
<div id="bx"></div>
Merci Danil pour une réponse rapide – user8115627
Oui, ça marche. – user8115627