如果使用 SHIFT 如何获取字符代码
How to get keyCode of character if SHIFT is used?
如果使用 SHIFT 键
通过键盘输入字符,则 keydown
或 keyup
事件只能跟踪 SHIFT 键的keyCode
,即 16。
那么如何追踪实际打印的字符的keyCode
呢?
我正在使用以下代码-
onkeyup='alert(event.keyCode)';// Always shows a message 16(keyCode of SHIFT) irrespective of the actual character
或
onkeydown='alert(event.keyCode)';// Always shows a message 16(keyCode of SHIFT) irrespective of the actual character
那么如何打印实际字符keyCode
???
可以看到传递的事件对象的属性shiftKey
。
看看这个小提琴
当您按 Shift 时,您可以看到它的键代码和shiftKey
属性true
.同时按下任意按钮,即 Shift+A 和控制台输出:
65
真
这是 A 的代码,再次shiftKey
属性。
得到解决方案
我不得不使用onKeyPress
事件,该事件不将SHIFT 视为按键,而是将结果字符视为。
因此,我可以使用onKeyPress
事件获取实际结果字符的keyCode
。
语法:
onkeypress='alert(event.keyCode)';
现在,如果我按 SHIFT+A,它会提示 A 的键代码,即 65。
作为替代解决方案,您可以创建一个新的 keydown 事件侦听器,并创建一个将e.shiftKey
保存为布尔值的 if 语句。如果它返回 true,则嵌套一个新的 if 语句e.which
该语句将只为符号返回 true,而不为数字返回 true。
input.addEventListener('keydown', e => {
if(e.shiftKey)
if(e.which == 52){
// will only return the value of dollar sign ($) not a number 4
}
})
参考: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/shiftKey
相关文章:
- RegEx只获取特殊字符,前后不获取任何字符
- 获取特殊字符后没有单词的句子
- 如何从键Code;中获取字符串/字符值;
- javascript获取字符前的字符串
- 忽略任何非小写字符(如数字、大写字母和符号)并获取k的值
- 如何在 JavaScript 中获取非重复字符及其计数
- 从文件中字符的索引中获取行号
- 如何使用jQuery获取url的最后两个字符
- Javascript-使用Regex获取两个字符之间的字符
- jquery获取字符限制
- 获取字符后的数字值
- 如何在 JavaScript 中获取字符的 ASCII 值
- 如何在 iframe 中获取字符偏移量
- 如果使用 SHIFT 如何获取字符代码
- 如何获取字符范围
- Regex获取字符和空白之间的字符串,并排除第一个分隔符
- Unicode:如何获取字符的所有码点,例如ã(所以它可以在JavaScript正则表达式中使用)
- JavaScript:尝试获取字符宽度并进行比较
- 如果有'空格,则获取字符后的所有字符串
- 在keyup上的文本区获取字符