¿Cómo manejar el evento de cierre modal en Twitter Bootstrap?

Evento de cierre modal en Twitter Bootstrap | Serie 1

Conocimiento previo: Bootstrap 4 | Modal

Bootstrap Modals ofrece una ventana emergente de JavaScript liviana y multipropósito que es personalizable y receptiva. Se pueden usar para mostrar ventanas emergentes de alerta, videos e imágenes en un sitio web. Bootstrap Modals se divide en tres secciones principales: encabezado, cuerpo y pie de página.

Los eventos Bootstrap son: show.bs.modal , shows.bs.modal , hide.bs.modal , hidden.bs.modal etc. De todos estos eventos, estamos interesados ​​en hide.bs.modal y hidden.bs eventos .modales .

  • hide.bs.modal : este evento se activa inmediatamente cuando se llama al método de instancia hide.
  • hidden.bs.modal : este evento se activa cuando el modal ha terminado de ocultarse para el usuario y luego esperará a que se completen las transiciones de CSS.

Ejemplo:

HTML

<!DOCTYPE html>
<html lang="en">
  
<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,
            initial-scale=1, shrink-to-fit=no">
  
    <!-- link to Bootstrap CSS CDN -->
    <link rel="stylesheet" href=
"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css"
        integrity=
"sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm"
        crossorigin="anonymous">
  
    <title>
        Modal closing event in Bootstrap
    </title>
  
    <style>
        h1,
        h6 {
            margin: 2%;
        }
  
        .btn {
            margin-left: 2%;
        }
    </style>
</head>
  
<body>
    <center>
        <h1 style="color:green;">
            GeeksforGeeks
        </h1>
  
        <!-- Button trigger modal -->
        <button type="button" class="btn btn-primary"
            data-toggle="modal" data-target="#gfgModal">
            Launch Modal
        </button>
  
        <!-- Modal -->
        <div class="modal fade" id="gfgModal" tabindex="-1"
            role="dialog" aria-labelledby="gfgModalLabel"
            aria-hidden="true">
            <div class="modal-dialog" role="document">
                <div class="modal-content">
                    <div class="modal-header">
                        <h6 class="modal-title" 
                                id="gfgModalLabel" 
                                style="color:green;">
                            GeeksforGeeks
                        </h6>
                          
                        <!-- The title of the modal -->
                        <button type="button" class="close" 
                                data-dismiss="modal" 
                                aria-label="Close">
                            <span aria-hidden="true">×</span>
                        </button>
                    </div>
  
                    <div class="modal-body">
  
                        <!-- The content inside the modal box -->
                          
<p>
                            Articles that need little modification/
                            improvement from reviewers are published 
                            first. To quickly get your articles 
                            reviewed, please refer existing articles, 
                            their formating style, coding style, and
                            try to make your close to them.
                        </p>
  
                    </div>
                    <div class="modal-footer">
                        <button type="button" class="btn btn-secondary"
                                data-dismiss="modal">Close</button>
  
                        <!-- The close button in the bottom
                             of the modal -->
                        <button type="button" class="btn btn-primary">
                            okay
                        </button>
                        <!-- The save changes button in 
                            the bottom of the modal -->
                    </div>
                </div>
            </div>
        </div>
  
        <!-- Optional JavaScript -->
        <!-- jQuery first, then Popper.js, then Bootstrap JS -->
        <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"
            integrity=
"sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN"
            crossorigin="anonymous">
        </script>
          
        <script src=
"https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js"
            integrity=
"sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" 
            crossorigin="anonymous">
        </script>
          
        <script src=
"https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"
            integrity=
"sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl"
            crossorigin="anonymous">
        </script>
    </center>
  
    <!-- Modal JQUERY logic -->
    <script type="text/javascript">
        $('#gfgModal').on('hidden.bs.modal', function (e) {
  
            // Fire a function in the console
            console.log('Function executed when gfgModal closed');
              
            // Alert the user
            alert('Alert fired when gfgModal closed')
        })
    </script>
</body>
  
</html>

Producción:

Antes de hacer clic en el botón:

Después de hacer clic en el botón:

Al cerrar modal, observe la consola:

Entonces, cuando modal está cerrado , lo manejamos con éxito usando

  • Dispara una salida en la consola
  • Alertar al usuario

Publicación traducida automáticamente

Artículo escrito por greenindia y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *