jQuery(event): regardez l'élément de style
disons avons élément comme ce
<div class="watch-me" style="display: none;">Watch Me Please</div>
comme nous pouvons le voir, l'élément au-dessus de style est display: none
, comment puis-je faire un script pour regarder cet élément. lors de cet élément de style est le changement de display: block
puis il y a un peu de code sera le déclencheur.
merci beaucoup...
Vous devez vous connecter pour publier un commentaire.
Autant que je sache, la seule façon de le faire est avec une minuterie.
J'ai créé un petit plugin jQuery (oui, ici, maintenant) qu'est-ce à l'encontre d'un jQuery ensemble:
MODIFIER ce plugin est maintenant sur GitHub: https://github.com/jacobrelkin/jquery-watcher
Utilisation:
Pour effacer cette propriété watcher:
//"this" in this scope will reference the object on which the property changed
style
attribut sur l'ensemble. Peut-être de les aider: techfoobar.com/jquery-style-listenerVous pouvez utiliser objet.regarder fonction, cependant sa non standard, il y a déjà un cross-browser mise en œuvre Objet.watch() pour tous les navigateurs?
Lorsque vous souhaitez commencer à regarder tout simplement écrire:
J'ai écrit un plugin jQuery pour observer les changements sur les DOM des propriétés des éléments/attributs et les propriétés CSS que certains pourraient trouver plus intuitives et faciles à utiliser: jQuery.regarder
Afin d'accomplir ce que vous êtes après, vous faites quelque chose comme cela:
Le plugin prend également en charge le suivi de l'valeurs de retour des méthodes jQuery sur regardé éléments, de sorte que vous pourrait, par exemple, l'incendie d'un rappel automatique lorsque la valeur de retour d'une méthode jQuery changements lorsqu'elle est appelée sur un élément donné.
Puisque vous ne pouvez pas compter sur les DOM Mutation Événements en raison de l'absence de soutien pour IE avant le 9, je pense vous serez tenue de fixer un bureau de vote de la minuterie à regarder. Par exemple:
Si vous souhaitez annuler le regarder après il change une fois:
C'est très expérimental (vous êtes prévenus!) et peut-être pas un bon ajustement à votre problème ou de répondre à cette question, mais il a eu pour moi que vous pouvez faire deux choses:
1 - Remplacer le jQuery de base de
.toggle
méthode pour ajouter des données pour les éléments qu'il est appliqué à.2 - Lier un
changeData
gestionnaire d'événement pour les éléments de jQuery 1.4.4Ce que cela signifie, vous pouvez faire quelque chose chaque fois qu'un élément est activé. Le même principe pourrait s'appliquer à la
.hide
et.show
méthodes, ou de toute autre méthode pour cette question.Essayer ici: http://jsfiddle.net/karim79/nreqv/1/
Cela pourrait être considéré comme ne répondant pas à la question, mais il serait préférable d'utiliser JQuery des événements personnalisés et les .déclenchement de la méthode que d'utiliser des intervalles et de l'observation (qui vient consomme des ressources).
Plus au point, les éléments peuvent souscrire à de nouveaux événements déclenchés à partir d'objets qu'elles sont "regardez"ing.
Prendre un coup d'oeil ici:
http://www.sitepoint.com/jquery-custom-events/
vérifier https://developer.mozilla.org/en/docs/Web/API/MutationObserver
P. S.
watch /unwatch sont obsolètes.
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Object/watch
Ne pas utiliser setInterval solutions!