问题描述
这是演示。例如,我想在按下 a 后得到一个 b,如下所示:
const text = document.getElementById('text');
text.addEventListener('keydown',(e) => {
if (e.key === 'a') {
e.preventDefault();
const start = e.target.selectionStart;
const end = e.target.selectionEnd;
e.target.value = `${e.target.value.substring(0,start)}b${e.target.value.substring(end)}`;
e.target.selectionStart = start + 1;
e.target.selectionEnd = start + 1;
}
})
<textarea id="text"></textarea>
但是我在输入 a 后无法撤销(control+z)输入,因为 b只是呆在那里,我不能去之前的州。
我的问题是如何在输入 a 之前存储状态?所以像以前一样(没有事件侦听器),我可以按 control+z 撤消我的输入。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)