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

时间:2012-12-14 02:18:45

标签: javascript arrays textarea counter undo

我正在尝试在textarea中创建一个撤销功能,因为我发现IE上的原生内容“必须在工作中使用它”缺乏。

我们的想法是在用户按下空格,退格键,删除或右键单击鼠标时随时按下阵列。我遇到麻烦的地方是用Z键浏览数组“历史”。我想如果每按一次Z键就进行一次计数器递增,然后减去array.lenght中的那个,这将允许我浏览历史记录。

这是我为测试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;

}

当按下空格键以保存在内存中时,只有将最后一个单词推入数组的任何想法都会很棒。

此致

安德鲁

2 个答案:

答案 0 :(得分:1)

每次按键都会使用var counter = 0将您的计数器重置为0,如果您想增加计数器,则应该从按键事件中声明var counter = 0;。也可以在操作后增加计数器

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

答案 1 :(得分:0)

编写自己的撤消工具是一个很好的练习,但您可能还想考虑现有的解决方案,例如本StackOverflow article

中提到的解决方案。