我有布尔变量,在用户执行操作后会更改。

我希望在发生这种情况时运行一个函数。

目前我有这个:

setInterval( function() {
    if(window.username && window.password) {
        [...]
    }
}, 50);


这是不理想的,并且通过重复if语句中的内容而导致一些问题。

我希望不间断检查,而不是每隔50ms检查一次。这可能吗?

最佳答案

目前没有任何“立即”正确的答案,但是您可以使用一些方法来解决此问题。

提供了适用于大多数浏览器(和IE6 +)的解决方案,该解决方案使用onpropertychange事件和更新的规范defineProperty。轻微的缺点是您需要使变量成为dom对象。

详细信息:

http://johndyer.name/native-browser-get-set-properties-in-javascript/

另外,请查看... https://github.com/melanke/Watch.JS以获取非本地答案。

09-13 03:41