Возможно, вам нужно вызвать событие -
var keyboard = $.Event("keypress");
keyboard.ctrlKey = true; //indicates pressing of Ctrl key
keyboard.keyCode = 90; //code for z
$(document).trigger(keyboard);
Вы можете запустить событие на элементе по вашему выбору (textarea).
Редактировать - ниже приведен только подход с использованием execCommand
, который вы явно не сможете использовать по понятным причинам sh.
Оберните Undo
функциональность в кнопку, которая выполняет Ctrl - z операция
function UndoCommand() {
document.execCommand("undo", false, null);
}
function RedoCommand() {
document.execCommand("redo", false, null);
}
.scrap {
width: 100%;
height: 100px;
resize: vertical;
margin-bottom: 2px;
}
.undoredo {
width: 33%;
display: block;
margin-left: auto;
margin-right: auto;
margin-bottom: 5px;
}
<textarea class="scrap"></textarea>
<input class="undoredo" type="button" onClick="UndoCommand()" / value="Undo (Ctrl-Z)">
<input class="undoredo" type="button" onClick="RedoCommand()" / value="Redo (Ctrl-Y)">