我可以使用execCommand undo来撤消未使用execCommand执行的操作吗?

eri*_*hak 5 html javascript google-chrome undo-redo execcommand

我正在尝试使用execCommand实现一个WYSIWYG编辑器(我知道很多WYSIWYG编辑器都存在,但它们对我来说都不够好).现在,一切正常,但如果我尝试使用该backColor命令,它似乎不起作用.

我想做的只是在元素上设置背景CSS,并以某种方式将其添加到撤消/重做队列,因此Ctrl+ Z将更改自定义更改.

可以随处去做吗?或者我只限于撤消/重做exec命令?

我只对Chrome解决方案感兴趣,不支持IE和FF.

小智 0

我的答案可能不是最漂亮的,但叉子很好:)

我用了

var undo = []; // array
var redo = [];
// to store the undo and redo data
// and added event listener to textarea

document.getElementById("textarea").oninput = function(){
    // do something
}
Run Code Online (Sandbox Code Playgroud)

http://jsfiddle.net/7z6kow73/1/