jQuery.keypress
получит вам событие, когда пользователь что-то наберет, а String.fromCharCode
даст вам символ + 1. Сложная часть касается выбора.
Чтобы получить выделение, я использовал плагин jQuery field selection , и чтобы убедиться, что он не переходит обратно в конец, я использовал этот ответ на другой вопрос . Вот окончательный код:
$(function() {
$("#target").keypress(function (evt) {
if (evt.which >= 65 && evt.which <= 122) {
var sel = $(this).getSelection();
var val = $(this).val();
var out = val.substring(0, sel.start) + String.fromCharCode(evt.which+1) + val.substring(sel.end, val.length);
$(this).val(out);
$(this).selectRange(sel.start + 1, sel.start + 1);
return false;
}
});
});
jsFiddle
Я ограничил его a-zA-Z, но вы можете настроить его так, как хотите.