Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

96
Views
Problema al acceder a los valores globalmente debido al alcance de la función del detector de eventos

Hola chicos y gracias por la ayuda. compileDescription aquí hay una función que llamé para crear la página de descripción de un comercio electrónico. Recibí los productos pasados como argumento de una api, los deconstruí y funcionan. El problema principal es que pasé los detalles del producto coincidente en la descripción y los inserté en el DOM HTML dentro de un detector de eventos . Sin embargo, necesito manipular los datos que inserté en el DOM dentro del detector de eventos dentro de otra función. Para eso, la variable de description debe ser accesible fuera del detector de eventos, pero incluso iniciar sesión en la consola dentro de la función compileDescription pero fuera del detector de eventos devuelve una cadena vacía. ¿Cómo hago para que los valores de la description sean accesibles tanto fuera del detector de eventos como fuera de la función compileDescription o en el ámbito global?

 compileDescription(products){ const eyeView = [...document.querySelectorAll('.view')]; //returns 16 buttons let description = ''; eyeView.forEach(viewBtn=>{ viewBtn.addEventListener('click', (event)=>{ const btnId = event.target.dataset.class; //works and returns the ID const productFind = products.find(product=> product.id == btnId); //returns an object with different properties and values description += ` <article class="overDescription"> <div class="descrContainer"> <div class="thisImage"> <img src="${productFind.image}" alt=""> </div> <div class="productdetails"> <p class="prodescription"> ${productFind.description} </p> <h5 class="price"> #${productFind.price}</h5> <button class="bag-btn" data-id= "${productFind.id}"> <img src="./images/icons8_add_shopping_cart_100px.png" width="16px" max-width= "18px" alt="add to cart"/> Add to cart </button> </div> </div> </article> ` showDescription.innerHTML = description; //the page displays correctly with all its necessary features }) }) console.log(description); //returns an empty string }
about 4 years ago · Juan Pablo Isaza
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!