具有禁用属性的Object.Watch

时间:2010-12-29 01:06:17

标签: object watch javascript-objects

<html>
<head>
<script type="text/javascript">
window.onload = function() {
 var btn = document.getElementById("button");
 var tog = document.getElementById("toggle");
 tog.onclick = function() {
  if(btn.disabled) {
   btn.disabled = false;
  } else {
   btn.disabled = true;
  }
 };
 //btn.watch("disabled", function(prop, val, newval) { });
};
</script>
</head>
<body>
<input type="button" value="Button" id="button" />
<input type="button" value="Toggle" id="toggle" />
</body>
</html>

如果您测试此代码,则“切换”按钮将成功启用并禁用其他按钮。

但是,取消注释btn.watch()行会以某种方式将disabled标记设置为true。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

因为watch定义的监视功能必须返回新值:

 btn.watch("disabled", function(prop, val, newval) { return newval; });

编辑: 我假设您要在不影响脚本功能的情况下定义监控方法。这就是为什么你必须要为disabled属性返回新值。