#javascript #addeventlistener #factory
Вопрос:
Я создаю заводскую функцию для возврата объекта кнопки, в consol.log я получил правильный результат, но при применении addEventListner он не работает
const tabButton = function(name)
{
const button = document.createElement("button")
button.innerText = name
button.classList.add("btn")
return {button}
}
const displayWebsite = function()
{
const btn = tabButton("name").button
console.log(btn) //<button class="btn">name</button>
btn.addEventListener("click",()=>{
console.log("debug") // not working
})
}
Комментарии:
1. Вы добавили новую кнопку к какому-то узлу DOM?
2. Где вы добавляете кнопку в DOM и нажимаете на нее?
Ответ №1:
Этот код работает:
function tabButton(name) {
const button = document.createElement("button");
button.innerText = name;
button.classList.add("btn");
document.getElementById("theButtons").appendChild(button);
return button;
}
function displayWebsite() {
const btn = tabButton("name");
console.log(btn);
btn.addEventListener("click",() => {
console.log("debug")
})
}
displayWebsite()
<div id="theButtons"></div>
Комментарии:
1. Пожалуйста, примите этот ответ (нажмите на галочку), если это ответ на ваш вопрос. Если у вас есть еще какие-либо сомнения, не стесняйтесь комментировать :).