Bonjour,
J'essai de détecter le changement de l'attribut style d'un span.
Pouvez-vous m'aider svp.
Merci
Bonjour,
J'essai de détecter le changement de l'attribut style d'un span.
Pouvez-vous m'aider svp.
Merci
Salut,
ce n'est pas un problème facile. On peut observer les modifications d'une propriété JavaScript en y ajoutant un setter comme ceci :
Le problème de cette méthode est qu'elle annule les changements. Avec une propriété JavaScript ordinaire, on pourrait bricoler un truc avec une variable intermédiaire pour garder trace de ces changements, mais là il s'agit d'une propriété DOM, on ne peut pas la réinventer.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Object.defineProperty(monObjet, "maVariable", { set: function(val) { console.log(val); } });
Il y a une autre méthode, mais un peu moins propre : utiliser setInterval.
La durée de l'intervalle est peut-être à ajuster.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 var oldStyle; setInterval(function( ){ if (monSpan.style !== oldStyle) { console.log(monSpan.style); oldStyle = monSpan.style; } }, 50);
Peux-tu nous dire pourquoi tu cherches à détecter un changement d'attribut style ? Un tel besoin n'est pas courant. Si tu es l'auteur du reste du code, il vaut mieux que tu le réorganises.
La FAQ JavaScript – Les cours JavaScript
Touche F12 = la console → l’outil indispensable pour développer en JavaScript !
Ce n'est pas trivial parce que le changement de style d'un élément ne se produit pas par magie et que contrairement aux événements JavaScript (qui dépendent des actions de l'utilisateur), c'est uniquement lié à l'exécution d'un code.
Il me semble donc que le plus simple serait d'agir au niveau de la fonction qui provoque ces changements de style...
Pas de question technique par MP !
Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
Mes formations video2brain : La formation complète sur JavaScript • JavaScript et le DOM par la pratique • PHP 5 et MySQL : les fondamentaux
Mon livre sur jQuery
Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager