s

Javascript Undo, Redo 기능 구현하기

· 2023-09-01 (금) 10:30:23 · 4527

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) 에 의 하여 기능이 작동하는지를 확인해보시면 됩니다.

 

감사합니다.

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

개발자팁

5,403건

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

+
분류 제목 글쓴이 날짜 조회
23-04-08 조회 2,617
23-03-31 조회 2,255
23-03-29 조회 2,634
23-03-28 조회 2,029
23-03-27 조회 2,744
JavaScript 23-02-22 조회 3,263
23-02-21 조회 2,482
23-03-10 조회 4,125
23-09-02 조회 2,385
기타 23-08-14 조회 1,593
JavaScript 23-09-04 조회 1,985
node.js 23-09-02 조회 1,603
JavaScript 23-09-01 조회 4,528
PHP 23-08-31 조회 2,090
node.js 23-08-29 조회 1,569
node.js 23-08-28 조회 2,117
PHP 23-08-27 조회 2,734
MySQL 23-08-26 조회 3,150
PHP 23-08-25 조회 3,176
JavaScript 23-08-24 조회 3,756
기타 23-08-23 조회 3,994
기타 23-08-22 조회 1,485
node.js 23-08-21 조회 2,513
JavaScript 23-08-20 조회 2,400
node.js 23-08-19 조회 3,602
node.js 23-08-18 조회 4,618
node.js 23-08-17 조회 2,514
PHP 23-08-16 조회 4,904
node.js 23-08-15 조회 3,528
PHP 23-08-14 조회 4,310