J’ai récemment mis à jour jQuery de 1,8 à 2,1. Tout à coup, j’ai découvert que le cesse de fonctionner. J’obtiens l’erreur
.
Y a-t-il une méthode que je peux utiliser à la place de `` ?
J’ai récemment mis à jour jQuery de 1,8 à 2,1. Tout à coup, j’ai découvert que le cesse de fonctionner. J’obtiens l’erreur
.
Y a-t-il une méthode que je peux utiliser à la place de `` ?
.live()
a été supprimée dans la version 1.9 partir.Cela signifie que si vous mettez à niveau à partir de la version 1.8 et versions antérieures, vous remarquerez que les choses se rompre si vous ne suivez pas le guide de migration ci-dessous. Vous ne devez pas simplement remplacer .live()
avec .on()
!
Pour rapide/correctifs à chaud sur un site en direct, ne pas simplement remplacer le mot-clé live
avec on
,
comme les paramètres sont différents!
.live(events, function)
doivent correspondre à:
.on(eventType, selector, function)
Le sélecteur est très important! Si vous n'avez pas besoin de l'utiliser pour une raison quelconque, il null
.
avant:
$('#mainmenu a').live('click', function)
après, vous déplacez l'élément enfant (a
) à l' .on()
selector:
$('#mainmenu').on('click', 'a', function)
avant:
$('.myButton').live('click', function)
après, que vous déplacez l'élément (.myButton
) à l' .on()
sélecteur, et de trouver le plus proche parent de l'élément (de préférence avec un ID):
$('#parentElement').on('click', '.myButton', function)
Si vous ne savez pas quoi mettre comme parent, body
fonctionne toujours:
$('body').on('click', '.myButton', function)
La documentation de l'API de jQuery listes live()
comme obsolète depuis la version 1.7 et supprimé de la version 1.9: lien.
version obsolète: 1.7, supprimé: 1.9
En outre, il est indiqué:
Comme de jQuery 1.7, l' .live() la méthode est obsolète. Utiliser .sur() pour fixer les gestionnaires d'événements. Les utilisateurs des anciennes versions de jQuery doit utiliser .délégué() de préférence .live()
.séjournez a été supprimé dans la 1.9, veuillez consulter le guide de mise à niveau : http://jquery.com/upgrade-guide/1.9/#live-removed
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.