gpt4 book ai didi

javascript - Object.watch() 适用于所有浏览器?

转载 作者:IT王子 更新时间:2023-10-29 02:39:46 24 4
gpt4 key购买 nike

请注意 Object.WatchObject.Observe现在都已弃用(截至 2018 年 6 月)。


我一直在寻找一种简单的方法来监视对象或变量的更改,然后我找到了 Object.watch(),它在 Mozilla 浏览器中受支持,但在 IE 中不受支持。所以我开始四处寻找,看看是否有人写过某种类似的东西。

关于我唯一发现的东西是 a jQuery plugin ,但我不确定这是否是最好的方法。我当然在我的大部分项目中使用 jQuery,所以我不担心 jQuery 方面...

无论如何,问题是:谁能给我看一个 jQuery 插件的工作示例?我在让它工作时遇到问题...

或者,有谁知道可以跨浏览器工作的更好的替代方案吗?

回答后更新:

谢谢大家的回复!我尝试了此处发布的代码: http://webreflection.blogspot.com/2009/01/internet-explorer-object-watch.html

但我似乎无法让它与 IE 一起工作。下面的代码在 Firefox 中运行良好,但在 IE 中没有任何作用。在Firefox中,每次改变watcher.status时,都会调用watcher.watch()中的document.write(),可以看到页面上的输出。在 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>");

最佳答案

(抱歉交叉发布,但我对类似问题的回答在这里很好用)

我创建了一个小的 object.watch shim刚才为了这个。它适用于 IE8、Safari、Chrome、Firefox、Opera 等。

关于javascript - Object.watch() 适用于所有浏览器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1029241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com