有没有办法检测全局布尔值是否从jQuery变为false?jQuery - 检测布尔值的变化
回答
是的,使用一个getter/setter对,setter捕获变量的设置:http://jsfiddle.net/M768B/。
(function() {
var val = false;
Object.defineProperty(window, "something", {
get: function() {
return val;
},
set: function(v) {
val = !!v; // `!!` to force setting a boolean
alert("Changed to " + val);
}
});
})();
谢谢,它完美的工作! – Philip 2012-03-12 09:30:09
的解决方案可能是
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<title>JavaScript Object - watch() method example</title>
</head>
<body>
<h1 style="color: red">JavaScript Object : watch() method</h1>
<hr />
<script type="text/javascript">
//This is done to make the following JavaScript code compatible to XHTML. <![CDATA[ o = {x:10}
o.watch("x",
function (id,oldvalue,newvalue) {
document.writeln("o." + id + " changed from "
+ oldvalue + " to " + newvalue+"<br />")
return newvalue
})
o.x = 20
o.x = 30
o.x = 40
//]]>
</script>
</body>
</html>
兼容:
- 的Internet Explorer 7
- 火狐3.6
- 谷歌浏览器7
- 的Safari 5.0.1
- 歌剧院10
看here。
本网站习惯于不只发布一个链接,还包括代码和细节在您的答案,以便它自己站立。如果链接断开,你的答案仍然会对社区有价值,并会独立存在。使用编辑链接继续改进你的答案。 :) – jmort253 2012-03-11 16:45:22
这是真正的意义 – thomas 2012-03-11 16:48:19
有一件事要指出,手表只适用于Mozilla,并根据文档,有一个性能影响。他们推荐它进行调试。 https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Object/watch – jmort253 2012-03-11 16:55:02
保留一个函数回调数组作为“观察者”。当任何东西通过你的接口函数改变布尔值(例如setBooleanValue(True);)然后遍历回调数组并调用每个函数来通知观察者。
- 1. jquery输入检测值变化
- 2. 布尔值变化监听的Java
- 3. 为什么不检测布尔变量?
- 4. jQuery检测窗体变化
- 5. 在布尔变化
- 6. Swing:布尔值全局变化
- 7. 检测python变量值的变化
- 8. 布尔值不变值
- 9. jQuery的检测程序文本变化
- 10. 通过jQuery检测top.location.href的变化
- 11. 检测变化
- 12. 输入值变化检测使用类
- 13. 操纵布尔值串化
- 14. 检测html textarea的变化
- 15. 检测ul列表内容变化jQuery
- 16. Jquery单选按钮检测变化
- 17. JQuery:检测css状态变化
- 18. 从函数返回布尔值后检查布尔值
- 19. 布尔值不改变
- 20. 布尔值不变? [C++]
- 21. 布尔值没有改变
- 22. 布尔值不会改变
- 23. 德尔福布尔变量值
- 24. 检测URL变化
- 25. 检测文本框值随jQuery发生变化时
- 26. 检测变量变化
- 27. 布尔变化事件的Lua?
- 28. @Output不断变化的布尔状态
- 29. Swift布尔本身的变化
- 30. 原子布尔值,测试当前值
池是最简单的:http://stackoverflow.com/questions/6783876/how-do-you-make-an-event-listener-that-detects-if-a-boolean-variable-becomes-tru – 2012-03-11 16:39:30
虽然最简单的并不总是最好:) – 2012-03-11 16:43:49