0

Je rencontre actuellement des problèmes avec mes menus déroulants. Je voudrais qu'ils s'ouvrent/se ferment seulement quand le menu déroulant est cliqué, pas les éléments de liste ou n'importe où ailleurs dans le corps.Le menu déroulant ne restera pas ouvert bootstrap 4

Voici mon code que j'ai les questions avec:

<main> 
    <div id="wrapper"> 
     <div id="sidebar-wrapper"> 
      <ul class="sidebar-nav"> 
       <li> 
        <span style="height:50px" /> 
       </li> 
       <li class="dropdown" id="mi1"> 
        <a class="menu-toggle" href="#" class="dropdown-toggle" data-toggle="dropdown">Service Provision<span class="fa fa-chevron-down pull-right sideMenuChevrons"></span></a> 
        <ul class="sideDropDown dropdown-menu" role="menu"> 
         <li><a href="#">Service Provision<span class="fa fa-external-link pull-right newTabIcon" onclick="window.open('#')"></span></a></li> 
         <li><a href="#">Automation Requests<span class="fa fa-external-link pull-right newTabIcon" onclick="window.open('#')"></span></a></li> 
        </ul> 
       </li> 
       <li class="dropdown"> 
        <a class="menu-toggle" href="#" class="dropdown-toggle" data-toggle="dropdown">NMC<span class="fa fa-chevron-down pull-right sideMenuChevrons"></span></a> 
        <ul class="sideDropDown dropdown-menu" role="menu"> 
         <li><a href="#">Customers<span class="fa fa-external-link pull-right newTabIcon" onclick="window.open('#')"></span></a></li> 
         <li><a href="#">Contractors<span class="fa fa-external-link pull-right newTabIcon" onclick="window.open('#')"></span></a></li> 
         <li><a href="#">Suppliers<span class="fa fa-external-link pull-right newTabIcon" onclick="window.open('#')"></span></a></li> 
        </ul> 
       </li> 
       <li class="dropdown"> 
        <a class="menu-toggle" href="#" class="dropdown-toggle" data-toggle="dropdown">Site Access<span class="fa fa-chevron-down pull-right sideMenuChevrons"></span></a> 
        <ul class="sideDropDown dropdown-menu" role="menu"> 
         <li><a href="#">Site Access<span class="fa fa-external-link pull-right newTabIcon" onclick="window.open('#')"></span></a></li> 
         <li><a href="#">Key Issue<span class="fa fa-external-link pull-right newTabIcon" onclick="window.open('#')"></span></a></li> 
        </ul> 
      </ul> 
      <div class="dropup"> 
       <a id="menu-toggle-reversed" href="#" class="dropdown-toggle dropup" data-toggle="dropdown"><i id="adminIconPadding" class="fa fa-user-md"></i>Admin<span class="fa fa-chevron-up pull-right sideMenuChevronsDropUp"></span></a> 
       <ul id="adminDropup" class="dropdown-menu" role="menu"> 
        <li><a href="#">Settings<span class="fa fa-external-link pull-right newTabIcon" onclick="window.open('#')"></span></a></li> 
       </ul> 
      </div> 
     </div> 

J'ai essayé d'ajouter en ligne javascript pour mais ce « stopPropagation » a donné lieu dans le menu déroulant ne pas ouvrir du tout.

Voici une jsFiddle approximative de ce qui se passe avec teh menus déroulants dans Teh barre de navigation de gauche: https://jsfiddle.net/jr_iridium/aqLa77ax/

Je suis relativement nouveau pour amorcer alors s'il vous plaît laissez-moi savoir si je l'ai fait des erreurs.

Merci d'avance.

+0

créer une démo de travail qui montre le problème – Dekel

+0

@Dekel JSFiddle maintenant ajouté à la publication. – jrobson

+0

parlez-vous de votre menu barre latérale? ou le menu de la barre de navigation? – threeFatCat

Répondre

0

Voici ma réponse, après de longs tests depuis que je l'ai utilisé avec Boostrap 3. En supprimant le data-toggle="dropdown" est le seul moyen de supprimer la fermeture automatique lors de clics extérieurs. Lié à here mais votre question est Bootstrap 4

Essayez ceci:

https://jsfiddle.net/rigz/pdc4un6L/5/

Si le violon ne me laisse tout simplement pas savoir, je vais avoir problème bizarre violon depuis que je suis sous proxy d'entreprise affichant ceci: P

+0

Désolé pour la réponse tardive, long week-end! J'ai essayé le violon et les menus déroulants ne s'ouvrent pas du tout? – jrobson

+0

pouvez-vous essayer d'enlever le 'toggle =" dropdown "' dans chacune de votre liste déroulante et d'utiliser le jquery que j'ai dans jsfiddle? Cela fonctionne bien dans ma section locale, c'est pourquoi je me sentais bizarre quand j'ai posté cette réponse. – threeFatCat

+0

ou vous pouvez juste copier et coller les codes que j'ai en violon, alors assurez-vous que vous avez les bonnes bibliothèques bootstrap et jquery et css. Je veux juste confirmer si ça ne marche pas du tout, si ça va. Merci – threeFatCat