2014-04-08 30 views
5

Próbuję zaimplementować edytor WYSIWYG przy użyciu execCommand (wiem, że istnieje wiele edytorów WYSIWYG, ale żaden z nich nie jest wystarczająco dobry dla mnie). Teraz wszystko działa dobrze, ale jeśli spróbuję użyć komendy backColor, to nie działa.Czy mogę użyć komendy cofania komendy execCommand, aby cofnąć akcje, które nie zostały wykonane przy użyciu komendy execCommand?

Co myślałem robi jest po prostu ustawić tło CSS na elemencie, a jakoś go dodać do kolejki cofania/powtarzania, więc Ctrl + Z zmieni z powrotem zmiany niestandardową.

Czy można to zrobić w dowolnym miejscu? lub jestem ograniczony do TYLKO cofania/ponawiania poleceń exec?

Jestem zainteresowany tylko rozwiązaniem Chrome, IE & FF nie są obsługiwane.

Odpowiedz

0

mój anwser może nie być najpiękniejsze jeden, ale widelce fine :)

użyłem

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 
} 

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