Я не прошу никого писать мой код для меня, именно наоборот, я бы хотел, чтобы каждый разработчик имел информацию на естественном языке в одном месте, чтобы написать свой собственный код. Если я задам каждый вопрос в отдельности, я получу умных JS oneliners из жаждущих кармы полчищ в качестве ответов, а это именно то, чего я не хочу. Я думаю, что моя настоящая проблема в том, что это неправильный сайт для этого вопроса (чтобы открыть, нет прямого короткого умного ответа), но я все равно не знаю лучшего сайта для этого.

даю веб-приложение для редактирования карт, где мы можем создавать и редактировать полилинии, многоугольники и т. Д. У меня есть некоторые проблемы с поиском информации о реализации отмены в Интернете, я нахожу нытье по поводу «нам нужно отменить» и «вот мой шаблон Command, использующий замыкания », но я думаю, что между этим и полным интерфейсом отмены / возврата есть довольно большой путь.

Итак, вот мои вопросы (я думаю, хороший кандидат на вики):

ДолженI управлять стеком, или есть способ отправить мои команды в стек браузера? (и как мне обрабатывать собственные команды, такие как редактирование текста в текстовых полях в этом случае)как мне обрабатывать «сжатие команд» (группирование команд), когда некоторые команды являются родными для браузераКак обнаружить нажатие клавиши отмены (Ctrl + Z)?Если я зарегистрирую событие keyup, как мне решить, запретить ли мне дефолт или нет?Если нет, могу ли я где-нибудь зарегистрировать какой-нибудь обработчик undoevent?Пользователи не используются для отмены в Интернете, как я могу "обучить" их исследовать / отменять в моем приложении?

Спасибо всем.

Ответы на вопрос(3)

Ваш ответ на вопрос