В поле ввода или contenteditable = true div, как я могу изменить нажатие клавиши для буквы "a", чтобы вернуть keybress для буквы "b"? I.e., каждый раз, когда вы вводите букву "a" в div, вывод на самом деле является буквой "b".
Я не занимаюсь решением, которое работает в IE, - это тот, который работает в Safari, Chrome и FF.
В Chrome я вижу, что событие keypress имеет свойства "charCode", "keyCode" и "which", которым присваивается номер события нажатия клавиши. Если я запускаю событие при нажатии клавиши, я могу изменить эти значения, но я не могу понять, что вернуть, чтобы фактический ключ, который набрал, был другим. Например:
$(window).keypress(function(e){ //$(window) is a jQuery object
e.charCode = 102;
e.which = 102;
e.keyCode = 102;
console.log(e);
return e;
});
Я также вижу, что наряду с charCode, который и keyCode, также имеет свойство "originalEvent", которое также имеет эти свойства. Однако я не смог их изменить (я пробовал такие вещи, как e.originalEvent.charCode = 102).