Je cherchais un moyen facile de surveiller un objet ou une variable pour les changements, et j'ai trouvé Object.watch()
, qui est pris en charge dans les navigateurs Mozilla, mais pas IE. J'ai donc commencé à chercher pour voir si quelqu'un avait écrit une sorte d'équivalent. A propos de la seule chose que j'ai trouvé a été a jQuery plugin, mais je ne suis pas sûr que ce soit la meilleure voie à suivre. J'utilise certainement jQuery dans la plupart de mes projets, donc je ne m'inquiète pas pour l'aspect jQuery ...Object.watch() pour tous les navigateurs?
Quoi qu'il en soit, quelqu'un peut-il me montrer un exemple pratique de ce plugin jQuery? J'ai des problèmes pour le faire fonctionner ...
Ou, est-ce que quelqu'un sait de meilleures alternatives qui fonctionneraient par navigateur?
Mise à jour après les réponses:
Merci à tous pour les réponses! J'ai essayé le code affiché ici: http://webreflection.blogspot.com/2009/01/internet-explorer-object-watch.html
Mais je ne pouvais pas sembler le faire fonctionner avec IE. Le code ci-dessous fonctionne bien dans Firefox, mais ne fait rien dans IE. Dans Firefox, chaque fois que watcher.status
est modifié, le document.write()
dans watcher.watch()
est appelé et vous pouvez voir la sortie sur la page. Dans IE, cela ne se produit pas, mais je peux voir que watcher.status
met à jour la valeur, car le dernier appel document.write()
affiche la valeur correcte (dans IE et FF). Mais, si la fonction de rappel n'est pas appelée, alors c'est inutile ... :)
Ai-je raté quelque chose?
var options = {'status': 'no status'},
watcher = createWatcher(options);
watcher.watch("status", function(prop, oldValue, newValue) {
document.write("old: " + oldValue + ", new: " + newValue + "<br>");
return newValue;
});
watcher.status = 'asdf';
watcher.status = '1234';
document.write(watcher.status + "<br>");
vous pouvez utiliser IIRC onPropertyChange dans IE – scunliffe
Remplacer document.write() avec alerte(). Il devrait fonctionner parfaitement. –