s

Javascript Undo, Redo 기능 구현하기

· 2년 전 · 1629

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,333
2년 전 조회 1,811
2년 전 조회 1,785
2년 전 조회 1,484
2년 전 조회 1,790
2년 전 조회 1,220
2년 전 조회 1,888
JavaScript 2년 전 조회 1,677
2년 전 조회 1,473
2년 전 조회 1,387
2년 전 조회 1,499
기타 2년 전 조회 871
JavaScript 2년 전 조회 1,112
node.js 2년 전 조회 796
JavaScript 2년 전 조회 1,630
PHP 2년 전 조회 904
node.js 2년 전 조회 753
node.js 2년 전 조회 1,268
PHP 2년 전 조회 1,744
MySQL 2년 전 조회 1,209
PHP 2년 전 조회 2,155
JavaScript 2년 전 조회 941
기타 2년 전 조회 3,143
기타 2년 전 조회 716
node.js 2년 전 조회 1,135
JavaScript 2년 전 조회 1,593
node.js 2년 전 조회 801
node.js 2년 전 조회 1,851
node.js 2년 전 조회 1,402
PHP 2년 전 조회 2,031
🐛 버그신고