<!DOCTYPE html> <html> <head> <link href="https://netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/js/bootstrap-multiselect.min.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/css/bootstrap-multiselect.css" rel="stylesheet"/> </head> <body> <div class="container"> <div class="example"> <script type="text/javascript"> $(document).ready(function() { $('#multi-select-demo').multiselect(); }); </script> <select id="multi-select-demo" multiple="multiple"> <option value="jQuery">jQuery tutorial</option> <option value="Bootstrap">Bootstrap Tips</option> <option value="HTML">HTML</option> <option value="CSS">CSS tricks</option> <option value="angular">Angular JS</option> </select> </div> </div> </body> </html>
En multisélection, nous avons un tas d'options. Ces options doivent se cacher pendant que l'utilisateur fait défiler la fenêtre. La liste est contenue dans un ul
avec le nom de classe "multiselect-container".
3 Réponses :
Déclencher un clic en dehors de l'élément devrait faire l'affaire.
$ (document) .click ();
Il n'y a pas de moyen officiel de 'fermer' le la liste déroulante bootstrap, cependant, celle ci-dessus est une solution de contournement pour gérer cela. Il déclenche essentiellement un faux clic en dehors de la liste déroulante, par conséquent, la ferme.
Si vous voulez qu'il se ferme à chaque fois que l'utilisateur commence à faire défiler, alors:
$(window).on('scroll',function(){ $(document).click(); });
ce n'est pas une solution possible pour un problème donné.
pouvez-vous partager l'exemple en cours avec ce code s'il vous plaît
Bien sûr, allez-y: codepen.io/zdo/full/MWgmPbd pour le code, voir < a href = "https://codepen.io/zdo/pen/MWgmPbd" rel = "nofollow noreferrer"> codepen.io/zdo/pen/MWgmPbd
<div class="nav">Scroll to show/hide this bar!</div> <p>They see me scrolling...</p>
@import bourbon body font-family: helvetica neue, helvetica, arial, sans-serif height: 8000px .nav background: #111 text-align: center color: #fff +padding(20px null) +position(fixed, null 0px 0px 0px) +transition(transform 1s $ease-in-out-quint) .nav.hidden +transform(translateY(100%)) p margin: 0 +padding(20px)
var prev = 0; var $window = $(window); var nav = $('.nav'); $window.on('scroll', function(){ var scrollTop = $window.scrollTop(); nav.toggleClass('hidden', scrollTop > prev); prev = scrollTop; });
<!DOCTYPE html> <html> <head> <link href="https://netdna.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/js/bootstrap-multiselect.min.js"></script> <link href="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-multiselect/0.9.15/css/bootstrap-multiselect.css" rel="stylesheet"/> </head> <body> <div class="container"> <div class="example"> <script type="text/javascript"> $(document).ready(function () { $('#multi-select-demo').multiselect(); }); window.addEventListener("wheel", myScript); function myScript() { $("#multi-select-demo").dropdown('toggle'); } </script> <select id="multi-select-demo" multiple="multiple"> <option value="jQuery">jQuery tutorial</option> <option value="Bootstrap">Bootstrap Tips</option> <option value="HTML">HTML</option> <option value="CSS">CSS tricks</option> <option value="angular">Angular JS</option> </select> </div> </div> </body> </html>
vouliez-vous dire fermer la liste déroulante lorsque l'utilisateur fait défiler?
oui, c'est @semira
toute solution possible ou cette @semira