¿Cómo puedo tomar valor del evento onClick en la variable?
Tengo un botón con dos tramos con idiomas en mi html
<button class="switch" > <span class='span switch_span spanlg span-dark' id = 'en' data-lang="en">EN </span> <span class='switch_span1 spanlg'>/</span> <span class='span spanlg span-dark' id = 'ru' data-lang="ru" >RU</span> </button>y necesito recibir en variable onclick id o data-lang en script.js
intento a continuación, pero no funciona
const span = document.querySelectorAll('.span'); var postId=''; span.forEach(function(spa) { spa.addEventListener('click', function() { postId = this.getAttribute('id'); return postId; }) }) console.log(postId)y postId no recibió identificación
necesito tener esta identificación en variable
¡Muchas gracias por su ayuda!
Debe obtener el objetivo de un parámetro de su función de escucha, como:
function(event) { postId = event.target.id; }Consulte esto para obtener más información: https://developer.mozilla.org/en-US/docs/Web/API/Event/target
También tenga en cuenta que la variable se establece solo después de que se activa el evento.
Simplemente no está llamando a console.log en el momento correcto o en el lugar correcto
span.forEach(function(spa) { spa.addEventListener('click', function() { postId = this.getAttribute('id'); console.log("id: " + postId); return postId; }) }) //console.log(postId)