Las funciones de jQuery live() y die() 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 delegate() – undelegate() y bind() – unbind().
Os recomiendo leer el post ‘jQuery on() y off(): Asignar de eventos a elementos del DOM‘ para ver el potencial de estas 2 funciones.
La función live() asigna eventos a los diferentes elementos del DOM. Vamos a ver la sintaxis de esta función extraída de su web oficial:
$(selector).live(evento, parametros, funcion)
Repasemos los parámetros de la función:
die() elimina los eventos asignados previamente a elementos del DOM. Vamos a ver su sintaxis extraída de su web oficial:
$(selector).die(evento, funcion)
Y ahora repasamos los parámetros:
Vamos a ver con este ejemplo cómo cambiar de una función a otra es muy sencillo:
$(document).ready(function(){ $("#boton").live("click",function(){ alert('Has hecho click en el botón de jQuery live()'); }); $("#boton2").on("click",function(){ alert('Has hecho click en el botón de jQuery on()'); }); });
Os explico los códigos:
Como podéis apreciar la sintaxis es muy similar, el código HTML de los botones es este:
<input type="button" name="boton" id="boton" value="Clíckame"> <input type="button" name="boton2" id="boton2" value="Clíckame">
Vamos a ver con estas 2 líneas de código cómo migrar de una función a otra:
$("#boton").die(); $("#boton").off();
Como podéis apreciar, es trivial cambiar de una función a otra.
Para la detección, control o selección de elementos con jQuery os recomiendo leer este post: