Если ваш реальный вариант использования такой же простой, как и ваш пример, я бы подумал, возможно, использовать разные прослушиватели событий с разными логиками c внутри них. Но если вы хотите использовать тот же прослушиватель событий, то вы можете использовать event.target.id
, чтобы узнать, какая кнопка была нажата:
[document.getElementById("good"), document.getElementById("idk"), document.getElementById("bad")].forEach(option => {
option.addEventListener("click", (event) => {
switch (event.target.id) {
case "good":
reply = "Hey";
break;
case "idk":
reply = "Well yeah";
break;
case "bad":
reply = "123";
break;
}
main.style.display = "block";
document.getElementById("reply").innerHTML = reply;
});
});
Здесь вы можете увидеть, как она работает (обратите внимание, что я удалил main.style.display = "block";
в следующий пример, так как я не знаю, что main
в вашем исходном коде):
[document.getElementById("good"), document.getElementById("idk"), document.getElementById("bad")].forEach(option => {
option.addEventListener("click", (event) => {
switch (event.target.id) {
case "good":
reply = "Hey";
break;
case "idk":
reply = "Well yeah";
break;
case "bad":
reply = "123";
break;
}
document.getElementById("reply").innerHTML = reply;
});
});
<div class="options">
<div id="good" class="btn">good</div>
<div id="idk" class="btn">idk</div>
<div id="bad" class="btn">bad</div>
</div>
<div id="reply"/>