要在textbox中实现撤销和重做功能,可以通过使用JavaScript来实现。以下是一个简单的示例代码:
<!DOCTYPE html>
<html>
<head>
<title>撤销重做示例</title>
</head>
<body>
<textarea id="myTextarea" rows="4" cols="50"></textarea><br>
<button onclick="undo()">撤销</button>
<button onclick="redo()">重做</button>
<script>
var textarea = document.getElementById('myTextarea');
var undoStack = [];
var redoStack = [];
textarea.addEventListener('input', function() {
undoStack.push(textarea.value);
redoStack = [];
});
function undo() {
if (undoStack.length > 1) {
redoStack.push(undoStack.pop());
textarea.value = undoStack[undoStack.length - 1];
}
}
function redo() {
if (redoStack.length > 0) {
undoStack.push(redoStack.pop());
textarea.value = undoStack[undoStack.length - 1];
}
}
</script>
</body>
</html>
在这个示例中,我们为textarea元素添加了一个input事件监听器,当用户输入时,会将当前内容存入undoStack数组中,并清空redoStack数组。点击撤销按钮时,会将当前内容弹出undoStack数组并存入redoStack数组,然后将上一个内容显示在textarea中。点击重做按钮时,会将redoStack数组中的内容弹出并存入undoStack数组,然后将最后一个内容显示在textarea中。
通过这种方式,我们可以实现简单的撤销和重做功能。您也可以根据自己的需求来扩展和改进这个示例。