我是使用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>
答案 0 :(得分:0)
keys
和checksKey
不是全局的,您必须在它们前面加上它们所属的对象。
变量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();
}
}