Как откатить элемент в javascript
есть какой-то элемент(и код к нему):
<button id="MyButton"> что-то </button>
<script>
$('#MyButton').on('click',()=>{$('#MyButton').text('что-то другое')})//jquery
</script>
как мне сделать некий бэкап, что-бы какой-то функцией откатить элемент на тот момент, когда был произведено сохранение?
function save(element){/*магия*/}
function back(element,saved){/*магия*/}
Ответы (1 шт):
Автор решения: Pavel Grishaev
→ Ссылка
let button = document.querySelector('#MyButton');
let ctrlZ = document.querySelector('#MyCtrlZ');
let history = [];
button.addEventListener( 'click', ()=>{
history.push({
property: 'innerText',
value: button.innerText,
});
button.innerText = `что-то другое ${Date.now()}`;
});
ctrlZ.addEventListener( 'click', ()=>{
if( !history.length ) return;
let historyItem = history.pop();
button[historyItem.property] = historyItem.value;
});
<button id="MyButton">Сменить текст этой кнопки</button>
<button id="MyCtrlZ">Ctrl + Z</button>