在JavaScript中返回错误的ASCII代码

时间:2012-03-06 10:21:20

标签: javascript

在以下脚本中,当按下del键时,它将返回46而不是127,这是del键的ASCII码。

function countLength(evt) {
            var inp = (evt.which) ? evt.which : event.keyCode;
            alert (inp);
            return true;
}

2 个答案:

答案 0 :(得分:1)

我不知道你从哪里得到evt因为它是独立的功能。如果你传递它然后改变:

event.keyCode;

要:

evt.keyCode;

或尝试将所有三种情况中的evt更改为event,反之亦然。

答案 1 :(得分:1)

event.keyCode返回的值不是ASCII码。它们只是指示键盘上按下了哪个键。例如,按键盘上最上一行的0 - 键返回48,但按数字块上的0返回96.

要将密钥代码转换为ASCII,您必须使用某种包含相应值的数组。在此任务中,您必须同时检查所有其他按键,例如shiftKeyaltKey以获得正确的结果。