如何在按下美元键时找出按键或按键事件时按下的键

时间:2013-03-01 12:42:44

标签: javascript jquery keypress onkeyup

下面的方法返回来自A-Z和0-9的任何键,当我按下shift键+ 4时,它返回相同的代码52。

function keyUpEvent(e)//onkeyup event
{
    var chr = String.fromCharCode(e.keyCode);//converts the keycode into a character
    alert(chr);//alerts the character
}

但是当按下shift键的相应键时,我需要显示 $或%

4 个答案:

答案 0 :(得分:5)

我会选择这样的东西:

$(function () {
    $(document).on('keyup keydown keypress', function (event) {
        if (event.keyCode == 52 && event.shiftKey) {
            alert('foo');
        }
    });
});

jsfiddle

答案 1 :(得分:2)

键码仅与键有关。 $是一个字符,通过两个键Shift和4实现。使用$ 时,onkeydown 没有明确的密钥代码

编辑:爱德华曾指出onkeypress使用了键组合,并且确实有组合键码。每天都学到新东西:)

Here's some code,由MDN提供的onkeydown示例编辑,用于检测按键密钥代码。

Here's the fiddle使用this S.O. post的帮助更新为Firefox友好版。如果你这样摆动,JQuery解决方案也会起作用。

$等于36

JavaScript Event KeyCode Test Page

这是S.O thread

答案 2 :(得分:2)

您无法一次检查两个关键事件。您可以尝试使用e.shiftKey来告诉您事件发生时是否按下了shift键。尝试检查:

if(e.keyCode === 53 && e.shiftKey){}

如果您有文本字段,也可以在密钥输入上附加事件并检查'%'。

https://developer.mozilla.org/en-US/docs/DOM/event.shiftKey

感谢Marcel Korpel

答案 3 :(得分:1)

KeyDown的{​​{1}}事件中,请使用:

TextBox