J'ai remarqué un comportement amusant et je me demandais si quelqu'un pouvait éclaircir la raison.JS: innerHTML et DOM ne coopèrent pas
Il se décompose comme suit:
- J'ai ajouté un
div
et unbutton
en utilisant `la appendChild de Javascript. - ajouter un gestionnaire
onclick
au bouton, fonctionne très bien - -je ajouter la cession ou céder la
innerHTML
dudiv
pour ajouter un peu plus de contenu - Bouton
onclick
cesse de fonctionner tout à fait
Voici un exemple de script:
var D = document.createElement("DIV"), B = document.createElement("BUTTON");
B.innerHTML = "Is it true?";
document.body.appendChild(D);
D.appendChild(B);
B.onclick = function() { alert("Elvis Lives!"); }
À ce stade, cela fonctionne très bien. Ensuite, ajoutez cette ligne: ...
D.innerHTML += "What about Tupac?";
... et le bouton se casse. Donc, je suis en train d'utiliser appendChild
pour tous les éléments maintenant.
Mais -
- Pourquoi est-ce qui se passe (« semble que cela devrait fonctionner :) »)
- Y at-il une solution (en plus de tous mes éléments annexant supplémentaires)?
BAM sur la tête. Merci. – Ben