0
<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。

有任何想法吗?

4

1 回答 1

0

因为 watch 定义的监控函数必须返回新值:

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

编辑:我假设您想在不影响脚本功能的情况下定义您的监视器方法。这就是为什么您必须注意为disabled财产返回新的价值。

于 2010-12-29T01:49:56.920 回答