问题描述
由于某种原因,当我在JavaScript中为checkKey函数添加Enter按钮值时,整个程序将停止工作。
我尝试在JavaScript中为“输入”按钮查找正确的数值,根据某些网站,该值为13,但是该程序仍无法正常工作。
救命!
的HTML
<button type="leftButton" onClick="leftClick()">Left</button>
<p>Clicks: <a id="leftClicks">0</a></p>
<button type="rightButton" onClick="rightClick()">Right</button>
<p>Clicks: <a id="rightClicks">0</a></p>
<input type="button" onClick="save()" value="save" />
<p>Save: <a id="saveClicks"></a></p>
的JavaScript
// Left counter
var leftClicks = 0;
function leftClick() {
leftClicks += 1;
document.getElementById('leftClicks').innerHTML = leftClicks;
}
// Right counter
var rightClicks = 0;
function rightClick() {
rightClicks += 1;
document.getElementById('rightClicks').innerHTML = rightClicks;
}
// Save
function save() {
document.getElementById('saveClicks').innerHTML = leftClicks + " " + rightClicks;
}
// L/R key actions
document.onkeydown = checkKey;
function checkKey(e) {
e = e || window.event;
if (e.keyCode == '37') {
leftClicks += 1;
document.getElementById('leftClicks').innerHTML = leftClicks;
} else if (e.keyCode == '39') {
rightClicks += 1;
document.getElementById('rightClicks').innerHTML = rightClicks;
} else if (e.keyCode == '90') {
leftClicks -= 1;
document.getElementById('leftClicks').innerHTML = leftClicks;
} else if (e.keyCode == '88') {
rightClicks -= 1;
document.getElementById('rightClicks').innerHTML = rightClicks;
} else if (e.keyCode == '82') {
leftClicks = 0;
rightClicks = 0;
document.getElementById('leftClicks').innerHTML = leftClicks;
document.getElementById('rightClicks').innerHTML = rightClicks;
} else if (e.keyCode == '13') {
function save();
}
}
因此,问题在于,当我将以下代码行添加到程序中时,它完全停止工作。 这是为什么?
else if (e.keyCode == '13') {
function save();
}
1楼
Moishe Lipsker
0
已采纳
2015-07-26 22:47:35
要在按下Enter键时正确调用保存功能,您可以执行以下操作:
else if(e.keyCode == '13') {
save();
}
调用已声明的函数时, function一词不应该存在。
如果您想拥有一个调用save的anonymous函数,则可以执行以下操作:
else if(e.keyCode == '13') {
function(){
save();
}
}