Как реализовать отмена/вперёд через JS
Подскажите, как в js реализовуют кнопки отмена/вперёд для каких либо действий при редактировании?
Имею в виду тот же функционал что на клавиатуре делают комбинации клавиш Ctrl + Z / Ctrl + Shift + Z. Для этого нужно писать кастомное событие с привязкой к этим кнопкам или есть какие то IP ? |
history.forward(); // эквивалентно кнопке вперед history.back(); // эквивалентно кнопке назад |
|
так же можно использовать
history.go(-1); // страниц назад history.go(1); // страниц вперед |
рони,
MC-XOBAHCK, Цитата:
|
Не, по истории посещённых страниц браузера гонять это не то. А я так обрадовался сначала....
Мне нужно тот же функционал что на клавиатуре делают комбинации клавиш Ctrl + Z / Ctrl + Shift + Z Допустим в textarea (можно прям в этой форме комментариев) из текста вырезаю пару параграфов, потом вдруг осознаю что я болван и не то вырезал, нажимаю Ctrl + Z и удалённые параграфы возвращаются назад. Теперь я не болван а красавчег. Вот эту же штуку хочу повесить на две кнопочки назад/вперёд. |
MC-XOBAHCK,
массив значений textarea хранить |
Цитата:
По умолчанию ведь в нём где то это всё сохраняется. Если на странице поменять несколько инпутов, текстария, таблицу доступную для редактирования, то на клавиатуре Ctrl + Z / Ctrl + Shift + Z можно туда-сюда гонять по всей истории изменений на странице. Если в браузере это всё уже хранится, при чём очень классно, то зачем создавать и хранить это всё в массиве? Я вот думаю если нет для этого доступных IP, то наверное проще написать кастомное событие вызывающее комбинации этих клавишь. По идее должно что то быть. Наверное это тоже что то из BOM. |
наверное API, а не IP
document.execCommand('undo'); // отменить последние действие document.execCommand('redo'); // Повтор последнего действия доступные команды можете посмотреть тут https://developer.mozilla.org/ru/doc...nt/execCommand |
<textarea></textarea> <button id="zzz">ctrl+Z</button> <button id="yyy">ctrl+Y</button> <script> zzz.onclick = e => document.execCommand('undo'); yyy.onclick = e => document.execCommand('redo'); </script> напишите что нибудь, пощелкайте кнопки |
Часовой пояс GMT +3, время: 14:12. |