--- title: 'Element: keyup event' slug: Web/API/Element/keyup_event translation_of: Web/API/Element/keyup_event ---
keyup
事件在按键被松开时触发。
冒泡 | 是 |
---|---|
可取消 | 是 |
接口 | {{domxref("KeyboardEvent")}} |
事件处理函数属性 | {{domxref("GlobalEventHandlers.onkeyup", "onkeyup")}} |
keydown
和 keyup
事件提供指出哪个键被按下的代码,而 keypress
指出哪些字符被输入。例如,小写字母 “a” 在 keydown
和 keyup
时会被报告为 65,但在 keypress
时为 97。所有事件均将大写字母 “A” 报告为 65。
从 Firefox 65 开始,keyup
和 keydown
事件在 IME 编辑时也会被触发,以提升 CJKT 用户的跨浏览器兼容性({{bug(354358)}})。要忽略 IME 编辑时的所有 keyup
事件,请执行以下操作(229 是一个关于被 IME 加工过的事件的 keyCode
的特殊值 ):
eventTarget.addEventListener("keyup", event => { if (event.isComposing || event.keyCode === 229) { return; } // do something });
在这个例子中,每当你在 {{HtmlElement("input")}} 元素里松开一个键,将会打印 {{domxref("KeyboardEvent.code")}} 的值。
<input placeholder="Click here, then press and release a key." size="40"> <p id="log"></p>
const input = document.querySelector('input'); const log = document.getElementById('log'); input.addEventListener('keyup', logKey); function logKey(e) { log.textContent += ` ${e.code}`; }
{{EmbedLiveSample("addEventListener_keyup_example")}}
input.onkeyup = logKey;
Specification | Status |
---|---|
{{SpecName("UI Events", "#event-type-keyup")}} | {{Spec2("UI Events")}} |
{{Compat("api.Element.keyup_event")}}