是否有可能在JS中有一个事件,当某个变量的值发生变化时会触发该事件?JQuery被接受了.
我正在研究一个主要使用JavaScript构建的网页界面.它基本上是一个(非常)大的形式,有许多部分.每个部分都是基于表单其他部分的选项构建的.每当这些选项更改时,新值将在"注册表"类型对象中记录,其他部分将相应地重新填充.
在许多表单字段上具有事件侦听器开始减慢速度,并且为每个更改刷新整个表单对于用户来说太重/太慢.
我想知道是否有可能将监听器添加到注册表对象的属性而不是表单元素来加快速度?如果是这样,你能提供/指出一些示例代码吗?
更多的信息:
通过javascript文档,我发现javascript对象上的以下两个函数看起来很有趣:
.watch - 为属性分配值并在发生时运行函数.
.unwatch - 使用watch方法删除观察点集.
样品用法:
o = { p: 1 };
o.watch("p", function (id,oldval,newval) {
console.log("o." + id + " changed from " + oldval + " to " + newval)
return newval;
});
Run Code Online (Sandbox Code Playgroud)
每当我们更改"p"的属性值时,此函数都会被触发.
o.p = 2; //logs: "o.p changed from 1 to 2"
Run Code Online (Sandbox Code Playgroud)
我在过去的几年里一直在使用javascript,从未使用过这些函数.
有人可以抛出一些好的用例,这些功能会派上用场吗?