J'utilise jQuery v.1.7.1 où la méthode .live () est apparemment obsolète.
Le problème que j'ai est que lors du chargement dynamique de code HTML dans un élément à l'aide de:
$('#parent').load("http://...");
Si j'essaie d'ajouter un événement de clic par la suite, il n'enregistre pas l'événement à l'aide de l'une des méthodes suivantes:
$('#parent').click(function() ...);
ou
// according to documentation this should be used instead of .live()
$('#child').on('click', function() ...);
Quelle est la bonne façon d'obtenir cette fonctionnalité? Cela ne semble fonctionner qu'avec .live () pour moi, mais je ne devrais pas utiliser cette méthode. Notez que #child est un élément chargé dynamiquement.
Merci.
.live()
il vous indique comment réécrire les utilisations existantes de .live()
à utiliser .delegate()
ou .on()
(selon que vous êtes sur la version 1.7+ ou non). Notez cependant que si vous ajoutez un gestionnaire avec .click()
"après" comme vous le mentionnez, c'est-à-dire après avoir chargé dynamiquement des éléments, cela devrait fonctionner - le seul problème est d'essayer d'assigner avec .click()
avant de charger dynamiquement des éléments.