javascript changement de propriété d'événement
J'ai besoin de déclencher un événement à chaque fois qu'un bien est mis à jour/modifiés afin de garder les éléments dom, en synchronisation avec les valeurs de propriété sur le modèle (Im à l'aide de john resig de l'héritage simple http://ejohn.org/blog/simple-javascript-inheritance/). Est-ce possible de le faire dans une manière de croix-navigateur? Il me semble que si je pouvais envelopper quelle que soit la fonction js utilise pour définir les propriétés et faire feu à un événement, qu'il pouvait travailler, je suis juste pas sûr de la façon de le faire.
OriginalL'auteur joshontheweb | 2010-11-12
Vous devez vous connecter pour publier un commentaire.
JavaScript ne pas utiliser une fonction pour définir les propriétés. Ils sont juste des variables, et leur configuration ne nécessite pas d'élaborer des wrappers.
Vous pourrait utiliser une fonction pour définir la propriété, si le même genre d'un getter/setter arrangement que vous pouvez utiliser dans un langage soutenu données privées dans les classes. De cette façon, votre fonction peut facilement exécuter d'autres fonctions qui ont été enregistrés comme des rappels. À l'aide de jQuery, vous pouvez même gérer ceux que les événements.
Ou dans ECMAScript 5.
Le problème est que l'objet que je veux écouter l'événement n'est pas un objet jquery, juste un objet générique qui est stocké dans le jquery objets de données de l'objet. Je ne sais pas comment lier un événement.
Exactement comme je l'ai montré.
yourObject
peut être ce que vous voulez. Il n'a rien à voir avec jQuery. Vous êtes alors à l'aide de jQuery pour simplement garder une trace de toutes les fonctions de rappel vous pouvez lier àyourObject
.grâce VoteyDisciple. c'est fonctionne exactement de la façon dont je l'avais espéré.
OriginalL'auteur VoteyDisciple
Peut-être que vous avez déjà résolu votre problème avec jQuery bind/déclencheur, mais je voulais dire que je suis en train de construire un Suivi des modifications et (en haut) la Modélisation des entités Framework Javascript, nommé "tente" qui résout le problème de l'exposition, sans aucune syntaxe spéciale sur la manipulation d'objet, de son open source et hébergé à l':
https://github.com/benjamine/tent
Il est documenté avec JSDoc et de l'unité testée avec js-test-pilote.
vous pouvez utiliser le suivi des modifications module de cette façon:
il travaille avec l'ensemble des changements trop (ajouter, supprimer).
En outre, vous pouvez utiliser le bouton "Entité" Contextes de garder une révision de tous les cas de modifications (AJOUT, suppression, modification des éléments) regroupés sur les collections, cascade ajoute et supprime, garder inverse propriétés synchronisés, la piste 1-pour-1, 1-à-N et N-M relations, etc.
OriginalL'auteur Benja
Objet defineProperty/defineProperties fait le tour.
Voici un code simple. J'ai construit certains de liaison de données les frameworks basés sur que, et il peut devenir très complexe, mais pour l'exercice de son comme ceci:
OriginalL'auteur Guilherme Ferreira
Vous pouvez essayer de Javascript Propriété Événements (jpe.js)
J'ai rencontré un problème similaire, et a fini par écrire une fonction de surcharge pour l'Objet.defineProperty qui ajoute des gestionnaires d'événements pour les propriétés. Il fournit également la vérification de type (js-de base-types) et les stocke sa valeur en interne, la prévention des modifications non désirées.
Échantillon de normal defineProperty:
Échantillon de propriété avec l'événement onchange:
OriginalL'auteur E. P. de Haas