Attacher un événement aux éléments dynamiques en javascript
J'essaie d'insérer des données html dynamiquement à une liste qui est créé dynamiquement, mais quand je tente de joindre un événement onclick du bouton qui est créé dynamiquement l'événement n'est pas à la cuisson. La Solution serait vraiment apprécié.
Code Javascript:
document.addEventListener('DOMContentLoaded', function () {
document.getElementById('btnSubmit').addEventListener('click', function () {
var name = document.getElementById('txtName').value;
var mobile = document.getElementById('txtMobile').value;
var html = '<ul>';
for (i = 0; i < 5; i++) {
html = html + '<li>' + name + i + '</li>';
}
html = html + '</ul>';
html = html + '<input type="button" value="prepend" id="btnPrepend" />';
document.getElementsByTagName('form')[0].insertAdjacentHTML('afterend', html);
});
document.getElementById('btnPrepend').addEventListener('click', function () {
var html = '<li>Prepending data</li>';
document.getElementsByTagName('ul')[0].insertAdjacentHTML('afterbegin', html);
});
});
Code HTML:
<form>
<div class="control">
<label>Name</label>
<input id="txtName" name="txtName" type="text" />
</div>
<div class="control">
<label>Mobile</label>
<input id="txtMobile" type="text" />
</div>
<div class="control">
<input id="btnSubmit" type="button" value="submit" />
</div>
</form>
source d'informationauteur Manju
Vous devez vous connecter pour publier un commentaire.
C'est dû à votre élément est créé dynamiquement et vous devriez événement délégation pour gérer l'événement.
jquery rendre plus facile:
Voici un article que vous pouvez lire à propos de l'événement délégation cas de délégation l'article
Il existe une solution de contournement par la capture de clics sur
document.body
et puis vérification de la cible de l'événement.Vous pouvez faire quelque chose de similaire à ceci:
Maintenant, vous pouvez créer des événements comme,
Prise En Charge Du Navigateur
chrome 4.0, Bord - 9.0, Firefox - 3.5 Safari 3.2, Opéra - 10.0 et au-dessus de