每次在 javascript 中执行 onkeydown 事件时,如何使输出打印 +1?

问题描述

我需要做一个 onkeydown 事件,当我按下 m 键时,它会在输出中打印 +1

html 中的输出是:

<h1 id="moreNum">how many times have you pressed the "m": 0</h1>

当我输入 m 时,它会打印:你按了多少次“m”:1

如果我再次点击它会打印:你按下了多少次“m”:2

等等

解决方法

您可以使用 addEventLisetner 对象提供的 m key 并仅在按下的键为 event 时增加计数。

const h1 = document.querySelector("#moreNum");
let count = 0;

function setText(times) {
  h1.textContent = `how many times have you pressed the "m": ${times}`
}

function logKey(e) {
  if (e.key === 'm') {
    ++count;
    setText(count);
  }

}

document.addEventListener('keydown',logKey);
<h1 id="moreNum">how many times have you pressed the "m": 0</h1>

,

这应该有效:)

<h1 id="moreNum">how many times have you pressed the "m": <span id="counter"></span></h1>


let count = 0;
document.addEventListener('keydown',logKey);

function logKey(e) {
  if (e.which === 77) {
    count = count + 1
    document.getElementById('counter').innerHTML = count
    
  }
}

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...