阅读量:0
要在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中。
通过这种方式,我们可以实现简单的撤销和重做功能。您也可以根据自己的需求来扩展和改进这个示例。