Взгляните на подключаемый модуль jQuery « отменить ».
Prototype предлагает только поверхностное клонирование объектов. Поэтому я считаю, что вам нужно использовать собственный метод глубокого клонирования (, этот может помочь). Затем, когда ваш пользователь манипулирует DOM, вы можете просто поместить клонированные версии в стек и вытащить их из стека, если пользователь решит отменить.
Я видел отмену и повтор выполнения в API графов GWT. Вы можете проверить следующий URL.
GWT - это библиотека, которую сегодня используют все. Он поддерживает реализацию кода в классах Java, а затем компилирует его в JS.
Попробуйте обойти это, поскольку мы однажды реализовали такую вещь, как веб-приложение с блок-схемой, которое поддерживало отмену / повтор до n уровней.
надеюсь, что это поможет.