jQuery | undelegate() con ejemplos

El método undelegate() es un método incorporado en jQuery que se utiliza para eliminar el controlador de eventos especificado del elemento seleccionado.

Sintaxis:

$(selector).undelegate(selector, event, function)

Parámetros: este método acepta tres parámetros, como se mencionó anteriormente y se describe a continuación:

  • selector: es un parámetro opcional que se utiliza para especificar el selector del que se eliminará el evento.
  • evento: Es un parámetro opcional que se utiliza para especificar el nombre del tipo de evento en el selector.
  • función: es un parámetro opcional que se usa para especificar el nombre de la función del controlador que se eliminará.

Valor devuelto: este método devuelve el elemento seleccionado con los cambios especificados realizados por el método undelegate().

Los siguientes ejemplos ilustran el método undelegate() en jQuery:

Ejemplo 1: Este ejemplo no contiene ningún parámetro.

<!DOCTYPE html>
<html>
    <head>
        <title>The undelegate Method</title>
        <script src=
        "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
        </script>
          
        <!-- jQuery code to show the working of this method -->
        <script>
            $(document).ready(function() {
                $("body").delegate("p", "click", function() {
                    $(this).css("font-size", "25px");
                });
                $("button").click(function() {
                    $("body").undelegate();
                });
            });
        </script>
        <style>
            div {
                width: 300px;
                height: 100px;
                background-color: lightgreen;
                padding: 20px;
                font-weight: bold;
                font-size: 20px;
                border: 2px solid green;
            }
            button {
                margin-top: 10px;
            }
        </style>
    </head>
    <body>
        <div>
            <!-- click on this p element -->
            <p>Welcome to GeeksforGeeks!.</p>
        </div>
        <!-- click on this button to remove the 
        event handler -->
        <button>Remove...!</button>
    </body>
</html>                                            

Salida:
Antes de hacer clic en cualquier lugar:

Después de hacer clic en el párrafo:

Nota: Primero haga clic en el botón y luego haga clic en el párrafo, luego no se producirán cambios.

Ejemplo 2: Este ejemplo contiene todos los parámetros.

<!DOCTYPE html>
<html>
    <head>
        <title>The undelegate Method</title>
        <script src=
        "https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js">
        </script>
          
        <!-- jQuery code to show the working of this method -->
        <script>
            $(document).ready(function() {
                $("body").delegate("div", "click", function() {
                    $(this).animate({
                        height: "+=100px"
                    });
                    $(this).animate({
                        width: "+=100px"
                    });
                });
                $("button").click(function() {
                    $("body").undelegate("div", "click");
                });
            });
        </script>
        <style>
            div {
                width: 30px;
                height: 30px;
                background-color: green;
            }
            button {
                margin-top: 10px;
            }
        </style>
    </head>
    <body>
        <div></div>
        <!-- click on this button -->
        <button>Click here..!</button>
    </body>
</html>

Salida:
antes de hacer clic en cualquier lugar:

después de hacer clic en el elemento div, cambie el tamaño.

Nota: si hace clic en el botón y luego en el elemento div, no se producirá ningún cambio en el tamaño.

Publicación traducida automáticamente

Artículo escrito por kundankumarjha 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 *