JavaScript:使用数组创建撤消 - 难以导航数组



我正在尝试在文本区域中创建一个撤消功能,因为我发现 IE 上的本机函数"必须在工作中使用它"缺乏。

这个想法是在用户按空格键、退格键、删除键或右键单击鼠标时推送到数组。我遇到麻烦的地方是使用 Z 键浏览数组"历史记录"。我在想,如果我每次按下 Z 键时都进行计数器增量,然后从 array.length 中减去它,它将允许我浏览历史记录。

这是我为测试 http://jsfiddle.net/synthet1c/5fqe3/2/而制作的JSFiddle

这是我遇到问题的脚本部分

//keypress listener script
var pos = undo.length - 1
if(key_code == "90"){
var counter = 0
counter++;
var newCount = pos - counter;
e.preventDefault();
id("myTextarea").value = undo[newCount] + " ";
id('counter').innerHTML = counter;

}

此外,在按空格键以节省内存时仅将最后一个单词推送到数组中的任何想法都会很棒。

好吧,

每次按键都使用var counter = 0将计数器重置为0,如果要增加计数器,则应在按键事件中声明var counter = 0;。操作后还要增加计数器

http://jsfiddle.net/roine/5fqe3/4/

编写自己的撤消功能是一个很好的练习,但您可能还需要考虑现有的解决方案,例如此 StackOverflow 文章中提到的解决方案。

最新更新