1

我正在使用 javascript 更改 KeyCode 以将键盘自动转换为波斯语键盘。我的代码如下所示

function submitenter(myfield, e) {
    var key;
    if(window.event)
        key = window.event.keyCode;
    else if(e)
        key = e.which;
    var str=' !"#$%،گ)(×+و-./0123456789:ك,=.؟@ِذ}يُيلآةـ،/’د×؛َءٍف‘{ًْإ~جژچ^_پشذزيثبلاهتنمئدخحضقسفعرصطغظ<|>ّ';
    if(key > 31 && key < 128) {
        window.event.keyCode=str.charCodeAt(key-32);
        return true;
    }
    if(key==13 || key==8 || key==0)
        return true;
    return false;
}

<input type=text name="Name" onkeypress="return submitenter(this, event);">

此代码在 IE 中有效,但在Firefox 和 google chrome中无效

4

1 回答 1

2

keyCode根据MDN 文档只读,该文档还声明此属性已弃用并建议改用。event.key

您可能会发现Firing a Keyboard Event in JavaScriptKeyboardEvent in Chrome,keyCode 0在分别为 Firefox 和 Chrome 创建自定义事件时很有用。

尤其需要 Chrome 的自定义事件解决方法,因为创建正常KeyboardEvent的 s是错误的

于 2013-03-14T10:30:16.813 回答