Element: keyup event

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.

keyup 事件在按键被松开时触发。

冒泡
可取消
接口 KeyboardEvent
事件处理函数属性 onkeyup

keydownkeyup 事件提供指出哪个键被按下的代码,而 keypress 指出哪些字符被输入。例如,小写字母“a”在 keydownkeyup 时会被报告为 65,但在 keypress 时为 97。所有事件均将大写字母“A”报告为 65。

从 Firefox 65 开始,keyupkeydown 事件在 IME 编辑时也会被触发,以提升 CJKT 用户的跨浏览器兼容性(Firefox bug 354358)。要忽略 IME 编辑时的所有 keyup 事件,请执行以下操作(229 是一个关于被 IME 加工过的事件的 keyCode 的特殊值):

js
eventTarget.addEventListener("keyup", (event) => {
  if (event.isComposing || event.keyCode === 229) {
    return;
  }
  // do something
});

例子

addEventListener keyup 例子

在这个例子中,每当你在 <input> 元素里松开一个键,将会打印 KeyboardEvent.code 的值。

html
<input placeholder="Click here, then press and release a key." size="40" />
<p id="log"></p>
js
const input = document.querySelector("input");
const log = document.getElementById("log");

input.addEventListener("keyup", logKey);

function logKey(e) {
  log.textContent += ` ${e.code}`;
}

等效的 onkeyup

js
input.onkeyup = logKey;

规范

Specification
UI Events
# event-type-keyup
HTML Standard
# handler-onkeyup

浏览器兼容性

BCD tables only load in the browser

参见