UIEvent:which 属性
已弃用: 不再推荐使用该特性。虽然一些浏览器仍然支持它,但也许已从相关的 web 标准中移除,也许正准备移除或出于兼容性而保留。请尽量不要使用该特性,并更新现有的代码;参见本页面底部的兼容性表格以指导你作出决定。请注意,该特性随时可能无法正常工作。
UIEvent
接口的 UIEvent.which
只读属性返回一个数字,表示按下了鼠标上的哪个按钮,或者是键盘上按下的键的 keyCode
或字符代码(charCode
)的数字值。
值
KeyboardEvent 的值 非标准
对于 KeyboardEvent
,event.which
包含按下的特定按键的数字代码,具体取决于是否按下了字母数字键或非字母数字键。有关更多详细信息,请参阅已弃用的KeyboardEvent.charCode
和 KeyboardEvent.keyCode
。
备注:
新代码请考虑使用 KeyboardEvent.key
或 KeyboardEvent.code
。
MouseEvent 的值 非标准
对于 MouseEvent
,event.which
是表示给定按钮的数字:
0
:无按钮1
:左键2
:中键(如果有)3
:右键
对于配置为左利手使用的鼠标,按钮操作是相反的。在这种情况下,从右到左读取值。
备注:
新代码请考虑使用 MouseEvent.button
。
示例
html
<html lang="zh">
<head>
<title>charCode/keyCode/which 示例</title>
<script>
function showKeyPress(evt) {
alert(
`onkeypress 处理器:\n` +
`keyCode 属性:${evt.keyCode}\n` +
`which 属性:${evt.which}\n` +
`charCode 属性:${evt.charCode}\n` +
`按下的字符键:${String.fromCharCode(evt.charCode)}\n`,
);
}
function keyDown(evt) {
alert(
`onkeydown 处理器:\n` +
`keyCode 属性:${evt.keyCode}\n` +
`which 属性:${evt.which}\n`,
);
}
</script>
</head>
<body onkeypress="showKeyPress(event);" onkeydown="keyDown(event);">
<p>请按任意键。</p>
</body>
</html>
规范
Specification |
---|
UI Events # dom-uievent-which |
浏览器兼容性
BCD tables only load in the browser