Изменение нажатия клавиши

В поле ввода или div contenteditable = true, как я могу изменить нажатие клавиши для буквы «a», чтобы вернуть нажатие клавиш на букву «б»? То есть, каждый раз, когда вы вводите букву «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, which и keyCode, есть также свойство originalEvent, которое, в свою очередь, также имеет эти свойства. Однако мне не удалось их изменить (я пробовал с такими вещами, как e.originalEvent.charCode = 102).

24
задан maxedison 5 January 2011 в 14:08
поделиться