<!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">
<head>
    <title></title>
</head>
<body>
    <input id="chkTest" type="checkbox" checked="checked" />
    <input type="button" value="更改" onclick="ChangeCHK()" />    <script type="text/javascript">
        var chkTest = document.getElementById("chkTest");
        if (chkTest.watch) {
            chkTest.watch("checked", function(id, oldval, newval) {
                alert(newval);
                return newval;
            });
        }
        else {
            chkTest.onpropertychange = function() {
                alert(this.checked);
            }
        }
    </script>    <script type="text/javascript">
        function ChangeCHK() {
            var check = chkTest.checked;
            chkTest.checked = check == true ? false : true;
        }
    </script>
</body>
</html>有点击checkbox改变了他的checked的话,firefox的watch没有监控到谢谢

解决方案 »

  1.   

    哦,那你可以 在if (chkTest.watch) {内 为 chkTest 增加 onchange 事件 来响应 即可
      

  2.   

    <script type="text/javascript">
            var chkTest = document.getElementById("chkTest");
            if (chkTest.watch) {
                chkTest.watch("checked", function(id, oldval, newval) {
                    alert(newval);
                    return newval;
                });
                chkTest.onchange = function() {
                    alert(this.checked);
                }        }
            else {
                chkTest.onpropertychange = function() {
                    alert(this.checked);
                }
            }
        </script>
      

  3.   

    <script type="text/javascript">
            var chkTest = document.getElementById("chkTest");
            if (chkTest.watch) {
                chkTest.watch("checked", function(id, oldval, newval) {
                    alert(newval);
                    return newval;
                });
                chkTest.onchange = function() {
                    alert(this.checked);
                }        }
            else {
                chkTest.onpropertychange = function() {
                    alert(this.checked);
                }
            }
        </script>
      

  4.   

    watch只能监听通过程序做出的改变!参见:http://www.jslab.org.cn/?tag=easyChange
      

  5.   


    我问的就是:watch只能监听通过程序做出的改变!