L'événement de clic JQuery ne fonctionne pas dans le bootstrap modal
J'ai cette ligne de code dans ma page:
<div id='data'>...</div>
<a id='addMore' href='#'>Add more </a>
Cette ligne est en fait dans une modal bootstrap. Je veux que lorsque l'utilisateur clique dessus, je veux que le div au-dessus d'elle cloné. Le problème n'est pas le code pour le clonage, mais que l'événement click est même pas soulevée. Dans mon .fichier js, j'ai ceci:
$('#addMore').click (...)
Les points de suspension est le code de la prévention des manquements et le clonage. J'ai essayé de tester avec une alerte. Il n'a toujours pas de travail. Je ne sais pas pourquoi.
J'ai découvert que si j'ai ajouté onClick='alert(...)
dans la balise, il a travaillé.
Peut aider quelqu'un?
C'est le HTML de la modal (ne me dérangerait pas si quelqu'un a aidé avec la mise en forme. Je sais que c'est un gâchis):
<div id="addEmailModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="addEmailLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">× </button>
<h3 id="addEmailLabel">Add Email</h3>
</div>
<div class="modal-body">
<div id="emailData">
<input type="text" placeholder="Name (optional)" class="input-xlarge" />
<input type="email" placeholder="Email" />
</div>
<a" id="addMore" href="#">Add more…</a>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<button class="btn btn-primary" id="btnAdd">Add</button>
</div>
</div>
source d'informationauteur afaolek
Vous devez vous connecter pour publier un commentaire.
Essayer de l'événement à la délégation de jQuery
.on()
méthode.Si l'événement n'est pas de travail, il se peut que votre balise
<a id='addMore' href='#'>Add more </a>
est ajouté, après les pages de charge. Vous pouvez attraper le cas avec son conteneur parent (note: le parent doit déjà exister dans les DOM lorsque les pages se charge). Essayez ceci:Modal n'est pas prêt à
$(document).ready
fonction. Il est prêt quand il pop-up. Probablement la raison derrière cela (je ne suis pas sûr à ce sujet). Il a travaillé pour moi, c'est pourquoi j'ai posté la réponse.J'espère que ce sera utile pour vous. J'ai eu le même problème, j'ai juste ajouté modal ID en Jquery cliquez sur l'événement et il a travaillé pour moi. Essayez cette
Ce n'est pas vraiment une réponse, mais il 'magie' résolu le problème. J'ai déplacé le code de cette page à l'autre .fichier js et ça a fonctionné. L'ancien fichier a été lié à de nombreuses pages. Je suppose que c'était la source du problème. Il semble étrange cependant.
J'espère que c'est seulement une faute de frappe, mais vous avez un double devis avant de l'attribut id, juste après la balise. Dans la première partie du code, c'est ok.
Il peut probablement gâcher les choses...
J'avais accidentellement attribué le même attribut id à deux boutons différents dans les différentes boîtes de dialogue modales. La modification de cette correction du problème:
Cela a fonctionné comme prévu.
Ma conjecture est que votre élément est ajouté dans la page après
jQuery.ready
événement. Votre code est dans ce bloc?