s

Javascript Undo, Redo 기능 구현하기

· 2년 전 · 1655

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에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
2년 전 조회 1,342
2년 전 조회 1,827
2년 전 조회 1,796
2년 전 조회 1,501
2년 전 조회 1,806
2년 전 조회 1,230
2년 전 조회 1,902
JavaScript 2년 전 조회 1,700
2년 전 조회 1,490
2년 전 조회 1,412
2년 전 조회 1,520
기타 2년 전 조회 891
JavaScript 2년 전 조회 1,129
node.js 2년 전 조회 811
JavaScript 2년 전 조회 1,656
PHP 2년 전 조회 926
node.js 2년 전 조회 771
node.js 2년 전 조회 1,302
PHP 2년 전 조회 1,780
MySQL 2년 전 조회 1,228
PHP 2년 전 조회 2,173
JavaScript 2년 전 조회 966
기타 2년 전 조회 3,158
기타 2년 전 조회 736
node.js 2년 전 조회 1,151
JavaScript 2년 전 조회 1,620
node.js 2년 전 조회 823
node.js 2년 전 조회 1,862
node.js 2년 전 조회 1,423
PHP 2년 전 조회 2,056
🐛 버그신고