从javascript函数和onkeydown显示输出

时间:2018-06-30 00:57:53

标签: javascript onkeydown

我有一个关于显示输出的问题。我的代码在大多数情况下有效,但仅在删除输入后才有效。例如,当我键入“ 0”时,什么也没有发生,但是在删除输入中的0后,只有这样,它才会显示“ 100%”。我尝试在输入中输入“ 0”后立即显示“ 100%”。需要明确的是,我并不是在尝试制作计算器。除了百分比之外,我还将输入其他输出。

document.getElementById("myscore").onkeydown = function() {
  myJsFunction()
};

function myJsFunction() {
  var numberwrong = document.getElementById('myscore').value;
  if (numberwrong == 0) {
    score = "100%";
  } else if (numberwrong == 1) {
    score = "95%";
  } else if (numberwrong == 2) {
    score = "90%";
  }
  document.getElementById("totalscore").innerHTML = score;
}
<p2>Number Incorrect out of 50: </p2>
<input type="number" id="myscore">

<p id="totalscore"></p>

1 个答案:

答案 0 :(得分:1)

使用onkeyup而不是onkeydown。在更改输入值之前,代码正在运行。

document.getElementById("myscore").onkeyup = function() {
  myJsFunction()
};

function myJsFunction() {
  var numberwrong = document.getElementById('myscore').value;
  if (numberwrong == 0) {
    score = "100%";
  } else if (numberwrong == 1) {
    score = "95%";
  } else if (numberwrong == 2) {
    score = "90%";
  }
  document.getElementById("totalscore").innerHTML = score;
}
<p2>Number Incorrect out of 50: </p2>
<input type="number" id="myscore">

<p id="totalscore"></p>