Как поймать event.keyCode и изменить его на другой keyCode?

Я проверил другие вопросы здесь, в SO, однако они не отвечают на мой вопрос. Я хочу просто поймать определенный keyCode и заменить его другим. Я работаю с символами, а не с пробелами, и мне не нужно терять фокус и тому подобное.

Ниже мой код.Но вы можете заменить эти коды клавиш своим (например, при нажатии заглавной буквы «A» она должна заменяться на ноль 0 и т. Д.). Идея в том, чтобы заменить keyCode.

phrase.keypress(function(event)
{
    if (event.shiftKey)
    {
        switch (event.keyCode)
        {
            // Cyrillic capitalized "Н" was pressed
            case 1053: event.keyCode = 1187; event.charCode = 1187; event.which = 1187; break;
            // Cyrillic capitalized "О" was pressed
            case 1054: event.keyCode = 1257; event.charCode = 1257; event.which = 1257; break;
            // Cyrillic capitalized "У" was pressed
            case 1059: event.keyCode = 1199; event.charCode = 1199; event.which = 1199; break;
        }
    }
});

Я также пробовал нажимать клавиши и нажимать клавиши. Они не изменяют keyCode. Как я могу это сделать?

P.S. Если возможно, я ищу решение, которое не выполняет "event.preventDefault () и вручную вставляет желаемый ключ в поле ввода, а затем перемещает курсор в конец". Я хочу более чистое и «правильное» решение. Спасибо.

8
задан Eli 29 September 2012 в 10:59
поделиться