一尘不染

适用于所有浏览器的Object.watch()吗?

javascript

请注意,Object.WatchObject.Observe现在都弃用(如2018年6月的)。


我一直在寻找一种监视对象或变量更改的简便方法,我发现Object.watch()Mozilla浏览器支持,但IE不支持。所以我开始四处搜寻,看看是否有人写过类似的东西。

我唯一发现的就是jQuery插件,但是我不确定这是否是最好的方法。我当然在我的大多数项目中都使用jQuery,所以我并不担心jQuery方面的问题。

无论如何,问题是:有人可以向我展示该jQuery插件的有效示例吗?我在使其工作时遇到问题…

还是有人知道跨浏览器更好的替代方法吗?

我想什么吗?

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>");

阅读 345

收藏
2020-04-25

共1个答案

一尘不染

(对交叉发布表示抱歉,但我在类似问题上给出的答案在这里效果很好)

我不久前为此创建了一个小object.watch垫片。它适用于IE8,Safari,Chrome,Firefox,Opera等。

2020-04-25