簡體   English   中英

程序中的checkKey輸入按鈕問題

[英]checkKey Enter button issue in program

由於某種原因,當我在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();
}

要在按下Enter鍵時正確調用保存功能,您可以執行以下操作:

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

調用已聲明的函數時, function一詞不應該存在。 如果您想擁有一個調用saveanonymous函數,則可以執行以下操作:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM