CSS3 transition Écouteur d'événements avec jQuery
Je me suis mise en œuvre d'un CSS3 effet de transition sur un article élément, mais l'écouteur d'événement transitionend fonctionne uniquement en JavaScript, pas avec jQuery.
Voir l'exemple ci-dessous:
//this works
this.parentNode.addEventListener( 'transitionend', function() {alert("1"); }, true);
//this does not work
$(this).parent().addEventListener( 'transitionend', function() {alert("1"); }, true);
Quelqu'un peut-il m'expliquer ce que je fais mal?
OriginalL'auteur Tudor Ravoiu | 2012-07-01
Vous devez vous connecter pour publier un commentaire.
en jQuery, vous devez utiliser
bind()
ouon()
méthode:OriginalL'auteur undefined
Également prendre note que si vous exécutez plusieurs transitions sur un élément (par exemple. l'opacité et la largeur) que vous allez obtenir plusieurs transitionEnd rappels.
Si vous êtes à l'aide de jQuery pour lier un événement à un div à l'extrémité de transition, vous pouvez envisager d'utiliser une fonction de ().
Cela signifie que le code se déclenche uniquement la première fois. Donc, si vous avez eu quatre différentes transitions qui se passe sur le même élément, votre rappel de déclencher une seule fois.
one
ouon
?À l'aide de
one()
permet de s'assurer que vous ne capturer un événement.Vous mieux de vérifier si l'e.currentTarget est le bon élément, car
transitionend
le feu la mère de toutes les animations de ses enfants aussi.OriginalL'auteur graygilmore
this.parentNode
retourne un objet javascript. Il a une propriété.addEventListener
$(this).parent()
retourne un objet jQuery. Il n'a pas une propriété.addEventListener
Essayez plutôt ceci,
OriginalL'auteur Jashwant
Si le premier fonctionne vraiment (j'en doute, car il doit exiger d'un fournisseur de préfixe), alors cela devrait fonctionner:
OriginalL'auteur Esailija