Clases CSS Dropdown
Encontramos las siguientes clases CSS
Clase |
Descripción |
.dropdown |
Indica un menu dropdown |
.dropdown-item |
Enlaces de estilo dentro del menú desplegable con el relleno adecuado, etc. |
.dropdown-item-text |
Texto de estilo o enlaces de texto dentro del menú desplegable con el relleno adecuado, etc. |
.dropdown-menu |
Construye un menu dropdown |
.drodpdown-menu-right |
Menú dropdown a la derecha |
.dropdown-header |
Añade un encabezado dentro del menú |
.dropup |
Indica un menu dropup (menú hacia arribaa) |
.disable |
Deshabilita un elemento del menú dropdown |
.active |
Habilita un elemento del menú dropdown |
.divider |
Separa elementos del menú con una línea horizontal |
Ejm
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap Example</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>Dropdowns</h2>
<p>The .dropdown class is used to indicate a dropdown menu.</p>
<p>Use the .dropdown-menu class to actually build the dropdown menu.</p>
<p>To open the dropdown menu, use a button or a link with a class of .dropdown-toggle and data-toggle="dropdown".</p>
<div class="dropdown">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
Dropdown button
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Link 1</a>
<a class="dropdown-item" href="#">Link 2</a>
<a class="dropdown-item" href="#">Link 3</a>
</div>
</div>
</div>
</body>
</html>
Atributos vía data-*
Agrega data-toggle = «dropdown» a un enlace o un botón para alternar un menú desplegable.
Ejm
<button type=»button» class=»dropdown-toggle» data-toggle=»dropdown»>Dropdown Example</button>
Vía Javascript
También lo puedes hacer manualmente con código Javascript.
Ejm
$('.dropdown-toggle).dropdown();
Ejm de código completo
<!DOCTYPE html>
<html>
<head>
<title>Bootstrap Example</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.16.0/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
</head>
<body>
<div class="container mt-3">
<h2>Enable Via JavaScript</h2>
<div class="dropdown">
<button type="button" class="btn btn-primary dropdown-toggle" data-toggle="dropdown">
Dropdown button
</button>
<div class="dropdown-menu">
<a class="dropdown-item" href="#">Link 1</a>
<a class="dropdown-item" href="#">Link 2</a>
<a class="dropdown-item" href="#">Link 3</a>
</div>
</div>
<p><strong>Note:</strong> The data-toggle="dropdown" attribute is required regardless
of whether you call the dropdown() method.</p>
</div>
<script>
$(document).ready(function(){
$(".dropdown-toggle").dropdown();
});
</script>
</body>
</html>
Nota: El atributo data-toggle = «dropdown» es obligatorio independientemente de si llama al método dropdown ().
Métodos dropdown
La siguiente tabla lista todos los posibles métodos dropdown
Método |
Descripción |
.dropdown(«toggle») |
Alterna el menú desplegable. Si está configurado, abrirá el menú desplegable de forma predeterminada |
.dropdown(«update») |
Actualiza la posición del menú desplegable de un elemento |
.dropdown(«dispose») |
Destruye el menú desplegable de un elemento |
Eventos dropdown
La siguiente tabla lista todos los posibles eventos dropdown.
Evento |
Descripción |
show.bs.dropdown |
Se produce cuando el menú desplegable está a punto de mostrarse. |
shown.bs.dropdown |
Se produce cuando el menú desplegable se muestra completamente (después de que se hayan completado las transiciones CSS) |
hide.bs.dropdown |
Se produce cuando el menú desplegable está a punto de ocultarse |
hidden.bs.dropdown |
Se produce cuando el menú desplegable está completamente oculto (después de que se hayan completado las transiciones CSS) |
Consejo: Usa el evento event.relatedTarget de jQuery para obtener el elemento que activó el menú desplegable:
$(".dropdown").on("show.bs.dropdown", function(event){
var x = $(event.relatedTarget).text(); alert(x);
});