Programación y ejemplos de PHP, jQuery, HTML5, WordPress, MySQL, AMP y htaccess


jQuery delegate() y undelegate(): 2 funciones obsoletas

Las funciones de jQuery delegate() y undelegate() quedaron obsoletas en la versión 1.7 de jQuery. Estas funciones asignan y eliminan eventos en los elementos del DOM.

En este post vamos a ver su sintaxis y ejemplos para sustituirlas por las funciones on() y off() que son las validas a partir de la 1.7.

Este mismo caso ocurre con las funciones bind – unbind() y live() – die().

Os recomiendo leer el post ‘jQuery on() y off(): Asignar de eventos a elementos del DOM‘ para ver el potencial de estas 2 funciones.

Sintaxis de jQuery delegate()

Con jQuery delegate() podemos asignar por defecto eventos a los diferentes elementos que tenemos en el DOM.

Vamos con las diferentes sintaxis que podemos usar extraídas de su web oficial:

Os explico los parámetros de la función:

  • selector (obligatorio): Elemento del DOM al que queremos asignar un evento.
  • evento (obligatorio): Evento que queremos controlar en el selector.
  • selectorDeNodo (opcional): Selección del nodo hijo dentro del elemento. Este nodo hijo debe de estar dentro de nodo especificado en selector.
  • parametros (opcional): Parámetros a pasar a la función.
  • funcion(obligatorio): Función a ejecutar cuando se produzca el evento.

Sintaxis de jQuery undelegate()

Con undelegate() eliminamos los eventos asignados previamente a los elementos del DOM, veamos su sintaxis extraída de su web oficial:

Repasemos la sintaxis:

  • selector (obligatorio): Elemento del DOM.
  • selector2 (obligatorio): Selección del nodo hijo dentro del elemento. Este nodo hijo debe de estar dentro de nodo especificado en selector.
  • evento (obligatorio): Evento que queremos controlar en el selector.
  • funcion(obligatorio): Función a ejecutar cuando se produzca el evento.

Ejemplo para migrar de jQuery delegate() a jQuery on()

Vamos a ver con este ejemplo cómo cambiar de una función a otra:

Os explico el ejemplo:

  • Con delegate() controlo el click del elemento con id = ‘boton’ que tiene que estar dentro del elemento ‘body’ y saco un mensaje por pantalla. He exagerado al meter todo dentro del ‘body’, pero así se entiende mejor.
  • Con on() controlo el click del elemento con id = ‘boton2’ y saco un mensaje por pantalla.

El código HTML de los botones es este:

Ejemplo para migrar de jQuery undelegate() a jQuery off()

Vamos a ver con estas 2 líneas de código cómo migrar de una función a otra:

He realizado el ejemplo para eliminar el evento del ejemplo de delegate() y su equivalente con off().

Selectores de jQuery

Para la detección, control o selección de elementos con jQuery os recomiendo leer este post:

Uso de cookies

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies