JavaScript对象有问题

时间:2014-12-12 01:51:11

标签: javascript object

我是使用Javascript对象的新手,并且无法解释为什么尽管我付出了最大的努力,这仍然不起作用。任何帮助表示赞赏。我发布整个文件,因为它非常小。再次感谢。

    <h1 id="mainHeading">
        Testing Objects in Javascript
    </h1>
</head>
<body>
    <input id="inputBox" type="number">
    <div id="response">

    </div>
    <script type="text/javascript">
        var input = document.getElementById('inputBox');
        var mainObj = {
            keys: [],
            numCheck: function () {
                if(input.value >= 0 && input.value < 100) {
                    response.innerHTML = "Avg";
                }
            },

            tracksKey: function (e) {
                code = e.keyCode;
                keys[code] = (e.type === "keydown");
                checksKey();
            },

            checksKey: function () {
                if (keys[13]) {
                    mainObj.numCheck();
                }
            },
        }

        window.addEventListener("keydown", mainObj.tracksKey);
        window.addEventListener("keyup", mainObj.tracksKey)
    </script>
</body>

1 个答案:

答案 0 :(得分:0)

keyschecksKey不是全局的,您必须在它们前面加上它们所属的对象。 变量response未定义。

var response = document.getElementById('response');


tracksKey: function (e) {
  var code = e.keyCode;
  mainObj.keys[code] = (e.type === "keydown");
  mainObj.checksKey();
},
checksKey: function () {
  if (mainObj.keys[13]) {
    mainObj.numCheck();
  }
}