bootstrap, jquery show.bs.modal événement ne se déclenche pas
je suis en utilisant le modal exemple à partir du bootstrap 3 docs. le modal œuvres. cependant j'ai besoin pour accéder au salon.bs.modale de l'événement quand il se déclenche. pour l'instant, je suis juste en train:
$('#myModal').on('show.bs.modal', function () {
alert('hi')
})
Rien ne se passe, le cas ne se déclenche pas. Ce que je fais mal??? Cela ne fait pas de sens pour moi.
Vous devez vous connecter pour publier un commentaire.
utiliser ceci:
$(data).modal('show');
.$(document).on('hidden.bs.modal', function (e) { if (e.target.id === 'my-modal-id') { alert('hi'); } });
. Id ici provient de<div class="modal fade" id="my-modal-id">
Assurez-vous de mettre votre
on('shown.bs.modal')
avant l'instanciation de la modale de la popou
De se concentrer sur un domaine, il est préférable d'utiliser le
shown.bs.modal
en place deshow.bs.modal
mais peut-être pour d'autres raisons, vous voulez quelque chose à cacher l'arrière-plan ou de mettre quelque chose juste avant le modal commence à se montrer, utiliser leshow.bs.modal
fonction.$(document).on()
.show.bs.modal
est différente deshown.bs.modal
. L'ancien déclenche lorsque le modal est sur le point de montrer. Le second, quand il a été démontré. Big différents.Envelopper votre fonction dans
$(document).ready(function() {
, ou, plus simplement,$(function() {
. En CoffeeScript, ce serait semblable àSans elle, le JavaScript est exécuté avant que le document est chargé, et
#myModal
ne fait pas partie du DOM encore. Voici la Bootstrap de référence.Essayer cette
À l'aide de
shown
au lieu deshow
aussi assurez-vous d'avoir votre semi-points à la fin de votre fonction et d'alerte.bootstrap.js
fichier chargé..modal
au lieu de référencer les auxiliaires modaux id a la solution... merci!Chose de similaire qui m'est arrivé et je l'ai résolu en utilisant setTimeout.
Bootstrap est l'aide de l'délai suivantes pour compléter montrant:
Donc l'utilisation de plus de 300 doit travailler et pour moi 200 de travail:
J'ai eu un semblable, mais le problème est différent et toujours incapables de travailler lorsque j'utilise $('#myModal'). J'ai été capable de le faire quand j'utilise $(window).
Mon autre problème est que j'ai trouvé que le spectacle de l'événement ne serait pas le feu si j'ai stocké mon modal div contenu html dans une variable javascript comme.
l'événement jamais congédié parce qu'il n'a pas eu lieu
mon correctif a été d'inclure des divs dans le corps html
N'oubliez pas de mettre le script après l'appel de "js/bootstrap", pas avant.
Ajouter ceci:
Dans mon cas, j'ai été absent de la .modale de dialogue div
N'est pas le feu de l'événement: illustré.bs.modal
Ne le feu de l'événement: illustré.bs.modal
De s'assurer que vous êtes le chargement de jQuery avant d'utiliser Bootstrap. Les sons de base, mais j'ai eu des problèmes de capture de ces modale des événements et s'avère l'erreur n'était pas avec mon code, mais que j'étais chargement Bootstrap avant de jQuery.
Parfois cela ne fonctionne pas si:
1) vous avez une erreur dans le code java script avant votre ligne avec
$('#myModal').on('show.bs.modal'...)
. Pour résoudre les mettre un message d'alerte avant de la ligne pour voir s'il est produit lors du chargement de la page. Pour résoudre éliminer JSs ci-dessus pour voir le quel est le problème2) un Autre problème est que si vous chargez le JS dans le mauvais ordre. Par exemple, vous pouvez avoir la
$('#myModal').on('show.bs.modal'...)
partie avant de les charger JQuery.js. Dans ce cas, votre appel sera pas pris en compte, en premier dans le code HTML (afficher la source de la page pour être sûr) vérifier si le lien de script de JQuery est au-dessus de votre modalonShow
appel, sinon elle sera ignorée. Pour résoudre les mettre un message d'alerte à l'intérieur du spectacle, un avant. Si vous voyez un avant et non pas l'un à l'intérieur de la onShow fonction, il est clair que la fonction ne peut pas s'exécuter. Si l'orthographe est juste plus que probable que votre appel à l'JQuery.js n'est pas fait ou elle est faite après l'onShow
partie$('#myModal').on('show.bs.modal'...)
doit être après JQuery est chargé. Merci!Dans mon cas, le problème était de savoir comment travelsize commentaire.. L'ordre des importations entre bootstrap.js et jquery. Parce que je suis en utilisant le modèle de Metronic et ne vérifie pas avant de
Assurez-vous que vous utilisez le bootstrap jquery modal et pas un autre jquery modal.
Gaspillé trop de temps de façon à ce...
j'ai utilisé jQuery événement de la délégation /bouillonnante... qui a fonctionné pour moi. Voir ci-dessous:
très bonne info également: https://learn.jquery.com/events/event-delegation/
Ci-dessous sont les détails granulaires:
spectacle.bs.modal fonctionne alors que le modèle de boîte de dialogue de chargement
montré.bs.modal travaillé pour faire quelque chose après le chargement. post rendu