kmu*_*nky 18 javascript keycode subtraction
好吧,我需要我的代码来检查是否按下了减号/ - 如果按下它,我想要一个警告框弹出.我试过两个109
和189
密码,但我仍然没有得到理想的结果.虽然我按下"-"
我没有得到那个警报框
小智 10
在numpad上,1.event.keyCode = 109是' - '
2.event.keyCode = 189在chrome上的alphabate keybord键中是' - '
3.event.keyCode = 173是' - '在firefox上的alphabate keybord键和chrome 173键盘上是静音开|关
不要在keydown
事件处理程序中执行此操作- 您将自己置于不同浏览器关于键代码的想法以及不同键盘类型的键代码之间的潜在差异.在keypress
事件中执行,然后您可以获得字符代码,这是您真正想要的.
document.onkeypress = function(evt) {
evt = evt || window.event;
var charCode = evt.which || evt.keyCode;
var charStr = String.fromCharCode(charCode);
if (charStr == "-") {
alert("Minus!");
}
};
Run Code Online (Sandbox Code Playgroud)
有关JavaScript关键事件的所有信息:http://unixpapa.com/js/key.html
发布一些代码.这对我有用:
document.onkeydown = function (e) {
if (e.keyCode === 109 || e.keyCode === 189) {
alert('minus sign pressed');
}
};
Run Code Online (Sandbox Code Playgroud)
完整的关键代码列表:http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx
人们正在远离event.keyCode
和event.charCode
跨浏览器由于不一致的实现。相反,使用event.code
. 这是一个string
领域。
大多数浏览器都支持Array.includes
,因此我倾向于执行以下操作:
if (['-', 'Minus', 'NumpadSubtract'].includes(e.code)) {
// do something
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
41005 次 |
最近记录: |