В поле ввода или contenteditable = true div, как я могу изменить нажатие клавиши для буквы "a", чтобы она возвращала нажатие клавиши для буквы "b"? То есть, каждый раз, когда вы вводите букву «a» в div, на самом деле выводится буква «b».
Меня не интересует решение, которое работает в IE - только то, которое работает в Safari, Chrome и FF.
В Chrome я вижу, что событие нажатия клавиши имеет свойства "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).