<textarea cols="60" rows="10"></textarea>
<button id="cancel">Cancel</button>
<button id="save">Save</button>
const textarea = document.querySelector('textarea');
const cancelButton = document.querySelector('#cancel');
const saveButton = document.querySelector('#save');
saveButton.addEventListener('click', (e) => {
textarea.dataset.initialValue = textarea.value;
});
cancelButton.addEventListener('click', (e) => {
textarea.value = (textarea.dataset.initialValue || '');
});
<select id="fonts">
<option value="" disabled selected>Choose font</option>
<option id="cursive">cursive</option>
<option id="fantasy">fantasy</option>
<option id="monospace">monospace</option>
<option id="sens">sens-serif</option>
</select>
<div id="one">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Recusandae, assumenda deserunt perferendis natus, modi eligendi vel facere qui odio corrupti earum quam porro nemo impedit vitae autem eaque, accusamus et?
</div>
let one = document.getElementById("one");
let fonts = document.getElementById("fonts");
fonts.addEventListener('change', (e) => {
one.style.fontFamily=e.target.value;
})
document.querySelector('script[src$="main.js"]')
const scripts = document.getElementsByTagName("script");
const src = scripts[scripts.length-1].src;
например что у ControlsProps нет метода foreach(когда я работаю с объектом controls)
if (Array.isArray(prop)) {
// тут метод forEach вызывать можно, ибо массив
}
может подход с ControlsProps | ControlsProps[] в корне неправильный