gpt4 book ai didi

javascript - 如何捕获 event.keyCode 并将其更改为另一个 keyCode?

转载 作者:数据小太阳 更新时间:2023-10-29 04:09:27 25 4
gpt4 key购买 nike

我已经在 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;
}
}
});

我也尝试使用 keydown 和 keyup。他们不会改变 keyCode。我该怎么做?

附言如果可能的话,我正在寻找一种解决方案,它不会“event.preventDefault() 并手动将所需的键插入输入字段,然后将光标移动到末尾”。我想要更清洁和“正确”的解决方案。谢谢。

最佳答案

键盘事件属性都是只读的。您不能捕获一个 keyCode 并将其更改为另一个。

参见来自 MDN 的引用资料 - Keyboard Events - 全部为只读无法设置。

正如您在帖子中提到的。 -- 如果你不想处理,那么你必须停止浏览器默认按键并自己为元素设置所需的值。

关于javascript - 如何捕获 event.keyCode 并将其更改为另一个 keyCode?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8776543/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com