Вам нужна функция onClick
внутри элемента create. setAttribute
будет не работать и будет ошибкой. Хорошо иметь меньше кода для достижения тех же результатов.
Вы можете сделать все это в функции one
вместо создания two
функции.
Также вместо использования setAttribute
для установки class просто используйте classList
и add
, чтобы назначить класс вашему динамически добавляемому элементу.
Демо:
let eventList = [];
//Buttons
var eventBtn = document.getElementById("event_btns")
function btnCreateEventClicked() {
var event = document.getElementById("event").value;
var btn = document.createElement('button');
btn.innerHTML = event;
btn.classList.add("evt-btn"); //use classList.add()
btn.onclick = function() { //function
addEvent(event); //call function pass the evt
};
//Appned buttons
eventBtn.appendChild(btn);
//Clear input
document.getElementById("event").value = ''
}
function addEvent(evt) {
eventList.push(evt);
console.log(eventList);
}
<div id="Input">
<label>Create an Event: </label><input type="text" id="event">
<button type="button" id="add-event-btn" onclick="btnCreateEventClicked()">Create</button>
<div id="event_btns">
</div>
</div>