javascript减法( - )键码

kmu*_*nky 18 javascript keycode subtraction

好吧,我需要我的代码来检查是否按下了减号/ - 如果按下它,我想要一个警告框弹出.我试过两个109189密码,但我仍然没有得到理想的结果.虽然我按下"-"我没有得到那个警报框

Dav*_*ard 32

在keypress事件期间测试的JavaScript charCodesASCII.109是正确的keyCode,如果在keydown或keyup事件中使用.

" - "的charCode为45.

  • http://www.cambiaresearch.com/c4/702b8cd1-e5b0-42e6-83ac-25f0306e3e25/Javascript-Char-Codes-Key-Codes.aspx (2认同)

小智 10

在numpad上,1.event.keyCode = 109是' - '

2.event.keyCode = 189在chrome上的alphabate keybord键中是' - '

3.event.keyCode = 173是' - '在firefox上的alphabate keybord键和chrome 173键盘上是静音开|关


Tim*_*own 9

不要在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


Rub*_*ias 6

您可以通过以下方式发现keyCodes:


Mat*_*att 5

发布一些代码.这对我有用:

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


Jef*_*ley 5

人们正在远离event.keyCodeevent.charCode跨浏览器由于不一致的实现。相反,使用event.code. 这是一个string领域。

大多数浏览器都支持Array.includes,因此我倾向于执行以下操作:

if (['-', 'Minus', 'NumpadSubtract'].includes(e.code)) {
    // do something
}
Run Code Online (Sandbox Code Playgroud)