테스트 사이트 - 개발 중인 베타 버전입니다

Javascript Undo, Redo 기능 구현하기

· 2년 전 · 1498

Javascript에서 Undo, Redo 기능을 구현해보겠습니다.

제가 처음부터 마지막까지 개발한건 아니고 아래링크의 깃허브소스를 활용하였을 뿐입니다.

기능이 아주 명백하고 간단해서 공유해드립니다.

https://github.com/ArthurClemens/Javascript-Undo-Manager

[code]

var undoManager = new UndoManager(),
    people = {},
    addPerson,
    removePerson,
    createPerson;        

addPerson = function(id, name) {
    people[id] = name;
};

removePerson = function(id) {
    delete people[id];
};

createPerson = function (id, name) {
    // first creation
    addPerson(id, name);

    // make undo-able
    undoManager.add({
        undo: function() {
            removePerson(id)
        },
        redo: function() {
            addPerson(id, name);
        }
    });
}

createPerson(101, "John");
createPerson(102, "Mary");

console.log("people", people); // {101: "John", 102: "Mary"}

undoManager.undo();
console.log("people", people); // {101: "John"}

undoManager.undo();
console.log("people", people); // {}

undoManager.redo();
console.log("people", people); // {101: "John"}

[/code]

 

http://108.181.203.145/ar

의 3디편집환경에서 저는 이 라이브러리를 사용하여 ctrl+z(undo), ctrl+y(redo)를 구현하였습니다.

3디편집기에서의 Undo, Redo기능을 직접 확인하시려면

ID: user1, PW: 123456789
로그인 하신 다음 구세관안내를 더블클릭하여 3디편집환경에 들어가셔서 아무런 편집도 해보고 ctrl+z(undo), ctrl+y(redo) 에 의 하여 기능이 작동하는지를 확인해보시면 됩니다.

 

감사합니다.

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시판 목록

개발자팁

개발과 관련된 유용한 정보를 공유하세요.
질문은 QA에서 해주시기 바랍니다.
글쓰기
🐛 버그신고