Зверніть увагу , що Object.Watch
і Object.Observe
обидва засуджується в даний час (за станом на червень 2018 року).
Я шукав простий спосіб моніторингу об'єкта чи змінної для змін, і я виявив Object.watch()
, що це підтримується в браузерах Mozilla, але не IE. Тому я почав шукати навколо, щоб побачити, чи хтось написав якийсь еквівалент.
Про єдине, що я знайшов, це плагін jQuery , але я не впевнений, чи це найкращий шлях. Я, звичайно, використовую jQuery у більшості своїх проектів, тому я не переживаю за аспект jQuery ...
У будь-якому випадку питання: Чи може хтось показати мені робочий приклад цього плагіна jQuery? У мене виникають проблеми з його роботою ...
Або хтось знає про якісь кращі альтернативи, які б працювали між браузерами?
Оновлення після відповідей :
Дякую всім за відповіді! Я випробував код, розміщений тут: http://webreflection.blogspot.com/2009/01/internet-explorer-object-watch.html
Але я не міг, здається, змусити його працювати з IE. Код нижче добре працює у Firefox, але нічого не робить в IE. У Firefox, кожен раз , коли watcher.status
змінюється, document.write()
в watcher.watch()
називається , і ви можете побачити результат на сторінці. У IE цього не відбувається, але я бачу, що watcher.status
це оновлення значення, оскільки останній document.write()
виклик показує правильне значення (і в IE, і в FF). Але якщо функція зворотного дзвінка не викликається, то це безглуздо ... :)
Я щось пропускаю?
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>");