我有布尔变量,在用户执行操作后会发生变化。
我希望在发生这种情况时运行一个函数。
目前我有这个:
setInterval( function() {
if(window.username && window.password) {
[...]
}
}, 50);
这不理想,并且通过重复if
语句中的内容会导致一些问题。
我不想每隔50毫秒检查一次,而是希望它能够连续检查。这可能吗?
答案 0 :(得分:1)
没有任何"立即"在这一点上是正确答案,但是有一些方法可以用来解决这个问题。
大多数浏览器(和IE6 +)的解决方案都可用,它使用onpropertychange事件和较新的规范defineProperty。轻微的问题是,您需要将变量设为 dom对象。
完整详情:
http://johndyer.name/native-browser-get-set-properties-in-javascript/
此外,请查看... https://github.com/melanke/Watch.JS以获取非dom 答案。