Cela devient ennuyeux - lorsque je clique sur un élément dans une liste déroulante Bootstrap, la liste déroulante ne se ferme pas. Je l'ai configuré pour ouvrir une lightbox Facebox lorsque vous cliquez sur l'élément de liste déroulante, mais il y a un problème avec celui-ci.
Ce que j'ai essayé
Lorsque vous cliquez sur l'élément, j'ai essayé de faire ceci:
$('.dropdown.open').removeClass('open');
$('.dropdown-menu').hide();
Cela le cache, mais pour une raison quelconque, il ne s'ouvrira plus.
Comme vous pouvez le voir, j'ai vraiment besoin de la liste déroulante pour se fermer, car elle a l'air merdique quand elle reste ouverte (principalement parce que z-index
la liste déroulante est plus élevée que la superposition de la boîte modale Facebox.
Pourquoi je n'utilise pas la boîte modale intégrée de Bootstrap
Si vous vous demandez pourquoi je n'utilise pas la jolie boîte modale intégrée à Bootstrap , c'est parce que:
- Il n'a pas de moyen de charger du contenu avec AJAX.
- Vous devez taper HTML à chaque fois pour le modal; avec Facebox, vous pouvez faire un simple:
$.facebox({ajax:'/assets/ajax/dialogs/dialog?type=block-user&id=1234567'});
- Il utilise des animations CSS3 pour animer (ce qui a l'air très agréable) mais dans les navigateurs non-CSS3, cela montre juste, ce qui n'a pas l'air si beau; Facebox utilise JavaScript pour se fondre afin qu'il fonctionne dans tous les navigateurs.