Cela devient ennuyeux : lorsque je clique sur un élément d'une liste déroulante Bootstrap, la liste déroulante ne se ferme pas. Je l'ai configuré pour ouvrir une boîte à lumière Facebox lorsque vous cliquez sur l'élément de la liste déroulante, mais il y a un problème avec cela.
Ce que j'ai essayé
Lorsque l'élément est cliqué, j'ai essayé de faire ceci :
$('.dropdown.open').removeClass('open');
$('.dropdown-menu').hide();
Ça le cache, mais ensuite, pour une raison quelconque, il ne s'ouvre plus.
Comme vous pouvez le voir, j'ai vraiment besoin que la liste déroulante se ferme, parce qu'elle a l'air merdique lorsqu'elle reste ouverte (principalement parce que l'image de la liste déroulante n'est pas visible). z-index
de la liste déroulante est plus élevé que le recouvrement 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é à Bootstrap c'est parce que :
- Il n'y a pas de moyen de charger du contenu avec AJAX.
- Vous devez taper du HTML à chaque fois pour la modale ; avec Facebox vous pouvez faire un simple :
$.facebox({ajax:'/assets/ajax/dialogs/dialog?type=block-user&id=1234567'});
- Il utilise des animations CSS3 pour s'animer (ce qui est très joli), mais dans les navigateurs non CSS3, il se contente de s'afficher, ce qui n'est pas très joli. Facebox utilise JavaScript pour s'afficher en fondu et fonctionne donc dans tous les navigateurs.