Donc, je sais que l'un des inconvénients de l'utilisation jQuery.live
est l'indisponibilité de .stopPropagation()
. Mais j'en ai vraiment besoin.Comment imiter stopPropagation en utilisant jQuery.live
Voici mon cas d'utilisation. J'ai une case à cocher qui est actuellement liée à un clic. Cependant, d'autres cases à cocher apparaissent à l'écran via un appel AJAX, ce qui signifie que j'ai vraiment besoin de .live('click', fn)
. Malheureusement, la case à cocher est située au-dessus d'un autre élément cliquable, nécessitant .stopPropagation()
. Cela fonctionne très bien avec .bind('click', fn)
, mais l'incapacité de l'utiliser avec .live()
me gêne. L'utilisation de return false
ne fonctionne pas car la case à cocher ne sera pas cochée.
Des idées sur comment imiter .stopPropagation()
lors de l'utilisation .live()
sans renvoyer false?
Je ne suis pas sûr que cela fonctionne tout à fait. Découvrez ma mise à jour et voyez ce que je veux dire: http://jsfiddle.net/g5bn4/3/. J'ajoute une case à cocher en utilisant 'jQuery.live()' et j'ai changé vos identifiants en classes pour pouvoir en utiliser deux. Cliquer sur la case à cocher n'autorise pas l'appel à 'e.stopPropagation'. –
@Josh - Utilisez 'bind' sur un conteneur externe qui n'est * pas * remplacé par votre appel ajax. Voir http://jsfiddle.net/g5bn4/7/ – karim79