我在SO上查看了其他的问题,但它们并没有回答我的问题。 我想简单地捕捉某些keyCode并将其替换为另一个keyCode。 我正在处理字符,而不是空格,也不需要丢失焦点或类似的东西。
以下是我的代码。 但您可以将那些keyCodes替换为您自己的(例如按下大写字母“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;
}
}
});
我尝试使用keydown和keyup,但它们不会改变keyCode。我该怎么办?
顺便说一句,如果可能的话,我希望找到一种不需要 "event.preventDefault()并手动插入所需的按键到输入字段,然后将光标移到结尾" 的解决方案。我想要更干净、"正确" 的解决方案。谢谢。