EventTarget事件:keypress

2019-01-22 16:28 更新

EventTarget事件 - keypress

注意,keypress事件已弃用,不再推荐使用此功能。虽然某些浏览器可能仍然支持它,但它可能已经从相关的Web标准中删除,或者可能仅为了兼容性目的而保留。避免使用它,并尽可能更新现有代码;请参阅本页底部的兼容性表。请注意,此功能可能随时停止运行。

按下产生字符值的键时会触发该keypress事件。产生字符值的键的示例是字母,数字和标点符号键。不产生字符值的键的例子是修饰键如Alt,Shift,Ctrl,或Meta。

该keypress事件已被弃用。您可能想要使用beforeinput或keydown替代。

基本信息

接口KeyboardEvent
是否冒泡
是否可取消
目标DocumentElement
默认操作变化:keypress事件;
启动文本撰写系统;
blurfocus事件;
DOMActivate事件;
 其他事件

属性

属性类型描述
target(只读)EventTarget事件目标(DOM树中最顶层的目标)。
type(只读)DOMString事件的类型。
bubbles(只读)Boolean事件是否正常冒泡。
cancelable(只读)Boolean事件是否可以取消。
view(只读)WindowProxyDocument.defaultViewwindow文件)
detail(只读)longfloat0
target(只读)EventTarget(DOM元素)聚焦元素处理key事件,如果没有合适的输入元素,则根元素。
char(只读)DOMString(string)
key的字符值。如果key对应于可打印字符,则此值是包含该字符的非空Unicode字符串。如果key没有可打印的表示,则为空字符串。
注意:如果该key用作插入多个字符的宏,则此属性的值是整个字符串,而不仅仅是第一个字符。
key(只读)DOMString(string)

由事件所表示的key的key值。如果值具有打印表示,则此属性的值与char属性相同。否则,它是Key值中指定的key值字符串之一。如果无法识别key,则为“Unidentified”字符串。

code(只读)DOMString(string)保存一个标识正在按下的物理key的字符串。该值不受当前键盘布局或修改器状态的影响,因此特定key将始终返回相同的值。
charCode(只读)unsigned longint
key的Unicode引用号;此属性仅由keypress事件使用。对于char属性包含多个字符的键,这是该属性中第一个字符的Unicode值。
警告:不推荐使用此属性;你应该使用char,如果可以的话。
keyCode(只读)unsigned longint一种与系统和实现有关的数字代码,用于标识按下的key的未修改值。这通常是与key对应的十进制ASCII(RFC 20)或Windows 1252代码。如果无法识别key,则此值为0
警告:不推荐使用此属性;你应该使用key,如果可以的话。
which(只读)unsigned longint一种与系统和实现有关的数字代码,用于标识按下的key的未修改值;这通常与keyCode是一样的
警告:不推荐使用此属性;你应该使用key,如果可以的话。
location(只读)longfloatkey在设备上的位置。
repeat(只读)Boolean如果一个key被按下足够长的时间以触发按键重复,则为true;否则为false
locale(只读)DOMStringkey事件的语言代码(如果有);否则,为空字符串。
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事件来实现键盘快捷键。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号