Tengo tres botones con imágenes y estoy tratando de obtener la ID del que se hizo clic, pero cuando hago clic en el botón (con una imagen) solo devuelve la ID de la imagen, no el botón (a veces devuelve la ID de el botón también). ¿Hay algo que me estoy perdiendo? ¿U otra manera de hacer eso? ¡por favor ayuda!
Aquí está mi código:
buttons = document.querySelectorAll('button'); buttons.forEach((btn) => btn.addEventListener("click", (e) => { let userChoice = e.target.id; console.log(userChoice); })); <button id="myBtn1"><img src="images/img1.png"></button> <button id="myBtn2"><img src="images/img2.png"></button> <button id="myBtn3"><img src="images/img3.png"></button>Si desea probar, simplemente ejecute el código y haga clic en los botones. (Perdón si no estoy claro, soy nuevo aquí).
Por favor reemplace:
e.target.id con e.currentTarget.id
El current target siempre hace referencia al elemento al que se ha adjuntado el controlador de eventos, a diferencia de Event.target, que identifica el elemento en el que se produjo el evento y que puede ser su descendiente.