`String.fromCharCode(keyCode)`在Firefox中不起作用

时间:2011-09-12 19:10:49

标签: firefox keyevent

String.fromCharCode(keyCode)在Firefox中不起作用。

例如

  • 我按分号键,它会抛出1/4符号。
  • 数字键盘抛出字母。

我正在使用它进行一些字段验证,因为FF中不支持event.key attrubute。

4 个答案:

答案 0 :(得分:2)

对FF使用 event.which 。您可以参考此example

答案 1 :(得分:0)

键码是键盘上键的数字标识符。它与charcode完全无关,charcode是所生成角色的Unicode代码点。

因此,使用keycode作为fromCharCode的参数几乎肯定会给你带来垃圾。

你实际上是在尝试使用键码,为什么?

答案 2 :(得分:0)

而不是event.keyCode尝试event.charCode。它适用于chrome和firefox。

答案 3 :(得分:0)

$('#Name_Var').keypress(function (event) {
    event = event || window.event;
    var charCode = event.which || event.keyCode;
    var charStr = String.fromCharCode(charCode);
    // FireFox key Del - Supr - Up - Down - Left - Right
    if (event.key !== undefined && event.charCode === 0) {
        return;
    }
    //Only Num
    if (!/^([0-9])*$/.test(charStr)) {
        event.preventDefault();
    }
    //Num and letters 
    if (!/^[a-zA-Z0-9]+$/.test(charStr)) {
        event.preventDefault();
    }
});