我有一个全局变量,仅在用户输入某些输入时才设置为 true,并且我希望能够触发函数。其中一些输入不是通过处理程序,所以我不能使用 JQuery change() 函数。
有关如何解决此问题的任何建议?
我有一个全局变量,仅在用户输入某些输入时才设置为 true,并且我希望能够触发函数。其中一些输入不是通过处理程序,所以我不能使用 JQuery change() 函数。
有关如何解决此问题的任何建议?
当值更改时,使用自定义 getter 执行其他操作:
myGlobal=true;
(function(){
var shadow=myGlobal;
Object.defineProperty(
window,
"myGlobal",
{
get: function() {return shadow;},
set: function(v){alert( 'myGlobal is now ' + v); return shadow=v;}
}
);
}());
myGlobal=false;
myGlobal=true;
这适用于老式的 IE,并且比 Object.watch() 和 polyfills 产生的性能影响更少。
您可以使用非标准的 object.watch。这是一个实现:https ://gist.github.com/eligrey/384583