Il metodo .live()
di jQuery serve a gestire principalmente gli eventi per quegli elementi che non sono ancora presenti nel DOM ma che verranno inseriti successivamente. Questo metodo, ovviamente, funziona anche per gli elementi già presenti, ma la sua vera utilità diventa chiara quando intere strutture vengono aggiunte alla pagina in modo dinamico.
La sintassi del metodo è la seguente:
$(elemento).live(evento, callback);
evento
è il nome di un normale evento jQuery (click
, focus
ecc.), mentre callback
è la funzione da associare all'evento specificato.
Esempio:
$('#trigger').live('click', function(e) {
e.preventDefault();
// ... continua
});
I casi d'uso tipici sono:
- Strutture DOM generate via AJAX (per esempio come stringhe HTML passate al wrapper
$()
). - Struttura DOM generate da eventi successivi al caricamento del documento.
.live()
funziona secondo il principio alla base dell'Observer Pattern. In pratica l'intero oggetto document
viene monitorato per intercettare l'inserimento di nuovi elementi e per associare l'evento specificato al nuovo elemento inserito.