我有一个全局变量,只有当用户输入特定的输入时才会设置为true,并且我希望能够启动一个函数。其中一些输入不通过处理程序,所以我不能使用JQuery change()函数。当布尔变为true时,如何获得一个函数调用的集合?
有关如何解决此问题的任何建议?
我有一个全局变量,只有当用户输入特定的输入时才会设置为true,并且我希望能够启动一个函数。其中一些输入不通过处理程序,所以我不能使用JQuery change()函数。当布尔变为true时,如何获得一个函数调用的集合?
有关如何解决此问题的任何建议?
使用定制的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,并规定少PERF命中比Object.watch()和polyfills的。
“旧式IE”意味着版本8和9? – Bergi
您可以使用非标准的object.watch。这是一个实现:https://gist.github.com/eligrey/384583
更多情况下是必要的在这里。目前为止有什么?你尝试了什么?为什么你没有尝试过的工作? –
除了使用间隔和重复检查变量,或者做大多数人做的事情之外,没有事件检查变量是否发生变化,而不是在输入发生变化时触发该变量。 – adeneo