2015-07-26 2 views
0

По какой-то причине, когда я добавляю значение кнопки Enter для функции checkKey в JavaScript, вся программа перестает работать. Я попытался найти правильное числовое значение для кнопки «Ввод» в JavaScript, что соответствует 13 сайтам, но программа по-прежнему не работает. Помогите!checkKey Введите кнопку в программе

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(); 
} 
+0

Поскольку ключевое слово 'function' не действует там. –

ответ

0

Для вызова функции сохранения правильно при входе нажата, вы могли бы сделать:

else if(e.keyCode == '13') { 
    save(); 
} 

Слово function не должно быть при вызове уже объявленной функции. Если вы хотите иметь anonymous функцию, которая вызывает save, вы могли бы сделать:

else if(e.keyCode == '13') { 
    function(){ 
     save(); 
    } 
} 
Смежные вопросы