EventTarget事件:keypress
EventTarget事件 - keypress
注意,keypress事件已弃用,不再推荐使用此功能。虽然某些浏览器可能仍然支持它,但它可能已经从相关的Web标准中删除,或者可能仅为了兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅本页底部的兼容性表。请注意,此功能可能随时停止运行。
按下产生字符值的键时会触发该keypress事件。产生字符值的键的示例是字母,数字和标点符号键。不产生字符值的键的例子是修饰键如Alt,Shift,Ctrl,或Meta。
该keypress事件已被弃用。您可能想要使用beforeinput或keydown替代。
基本信息
接口 | KeyboardEvent |
---|---|
是否冒泡 | 是 |
是否可取消 | 是 |
目标 | Document ,Element |
默认操作 | 变化:keypress 事件;启动文本撰写系统;
blur 和focus 事件;DOMActivate 事件;其他事件 |
属性
属性 | 类型 | 描述 |
---|---|---|
target (只读) | EventTarget | 事件目标(DOM树中最顶层的目标)。 |
type (只读) | DOMString | 事件的类型。 |
bubbles (只读) | Boolean | 事件是否正常冒泡。 |
cancelable (只读) | Boolean | 事件是否可以取消。 |
view (只读) | WindowProxy | Document.defaultView (window 文件) |
detail (只读) | long (float ) | 0 。 |
target (只读) | EventTarget (DOM元素) | 聚焦元素处理key事件,如果没有合适的输入元素,则根元素。 |
char (只读) | DOMString (string) | key的字符值。如果key对应于可打印字符,则此值是包含该字符的非空Unicode字符串。如果key没有可打印的表示,则为空字符串。 注意:如果该key用作插入多个字符的宏,则此属性的值是整个字符串,而不仅仅是第一个字符。 |
key (只读) | DOMString (string) | 由事件所表示的key的key值。如果值具有打印表示,则此属性的值与 |
code (只读) | DOMString (string) | 保存一个标识正在按下的物理key的字符串。该值不受当前键盘布局或修改器状态的影响,因此特定key将始终返回相同的值。 |
charCode (只读) | unsigned long (int ) | key的Unicode引用号;此属性仅由 keypress 事件使用。对于char 属性包含多个字符的键,这是该属性中第一个字符的Unicode值。警告:不推荐使用此属性;你应该使用 char ,如果可以的话。 |
keyCode (只读) | unsigned long (int ) | 一种与系统和实现有关的数字代码,用于标识按下的key的未修改值。这通常是与key对应的十进制ASCII(RFC 20)或Windows 1252代码。如果无法识别key,则此值为0 。警告:不推荐使用此属性;你应该使用 key ,如果可以的话。 |
which (只读) | unsigned long (int ) | 一种与系统和实现有关的数字代码,用于标识按下的key的未修改值;这通常与keyCode 是一样的。警告:不推荐使用此属性;你应该使用 key ,如果可以的话。 |
location (只读) | long (float ) | key在设备上的位置。 |
repeat (只读) | Boolean | 如果一个key被按下足够长的时间以触发按键重复,则为true ;否则为false 。 |
locale (只读) | DOMString | key事件的语言代码(如果有);否则,为空字符串。 |
ctrlKey (只读) | Boolean | 如果在触发事件时控制键已关闭,则为true ;否则为false 。 |
shiftKey (只读) | Boolean | 如果在事件被触发时shift键已关闭,则为true ;否则为false 。 |
altKey (只读) | Boolean | 如果事件被触发时alt键已关闭,则为true ;否则为false 。 |
metaKey (只读) | Boolean | 如果在触发事件时meta键已关闭,则为true ;否则为false 。 |
示例
每当您按下<input>元素内的键时,此示例都会记录该KeyboardEvent.code值。
HTML
<input placeholder="Click here, then press a key." size="40">
<p id="log"></p>
JavaScript
const input = document.querySelector('input');
const log = document.getElementById('log');
input.addEventListener('keypress', logKey);
function logKey(e) {
log.textContent += ` ${e.code}`;
}
规范
DOM L3
浏览器兼容性
Chrome不会针对已知的键盘快捷键(参考)触发keypress事件。哪些键盘快捷键已知,取决于用户的系统。使用该keydown事件来实现键盘快捷键。