可能重复:
Listening for variable changes in JavaScript or jQuery
如何跟踪此变量是否已更改?
var ConditionalFlag = 0;
我试过了:
var ConditionalFlag = 0;
$(ConditionalFlag).change(function () {
alert("Changed");
});
ConditionalFlag++;
但无济于事。我考虑使用25ms计时器来检查这样的变化:
var ConditionalFlag = 0;
function CheckFlag() {
if (ConditionalFlag > 0) {
alert("Changed");
clearInterval(check);
}
}
var check = window.setInterval("CheckFlag()", 25);
ConditionalFlag++;
然而,这似乎有点矫枉过正。有没有办法用jQuery或javascript将事件处理程序附加到此变量?
答案 0 :(得分:10)
如果它是全局变量,您可以在支持的环境中使用属性访问器......
window._conditional_flag = 0;
Object.defineProperty(window, "ConditionalFlag", {
get: function() { return window._conditional_flag},
set: function(v) { console.log("changed"); window._conditional_flag = v; }
});
答案 1 :(得分:5)
当变量发生变化时,没有“事件”被触发。 JavaScript无法正常工作。
此变量何时更改?只需添加对函数的调用即可。