Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

219
Vistas
El método ve la propiedad como indefinida. El mismo método ve la propiedad. ¿Por qué?

Estoy tratando de crear un cajón en mi sitio web de comercio electrónico. Quiero que el cajón se muestre como ninguno cuando ocurra 1 de 3 cosas: hago clic fuera de la sección, presiono Esc o presiono el botón X. Tengo un método que maneja los 3 de ellos. Solo cuando hago clic fuera de la sección, la sección desaparece. Cuando trato de consolarlos al comienzo del método, devuelve lo que espero que me devuelvan. Cuando trato de presionar el botón no pasa nada. Cuando trato de presionar Esc, aparece este error: TypeError no detectado: no se pueden leer las propiedades de undefined (leyendo 'estilo') en HTMLDocument. (main.js:84:27).¿Por qué? Gracias.

 let drawer = { cartDrawer: document.getElementById("cartDrawer"), drawerButton: document.getElementById('closeDrawer'), generateDrawer() { return (this.cartDrawer.innerHTML =this.cartDrawer.innerHTML+ basket .map((x) => { let { id, item } = x let search = shopItemsData.find((y) => y.id === id) || [] return ` <div class='container'> <div class='cartDrawerDetails'> <p><img src=${search.img} alt="" />${search.desc}</p> <div>${search.price}</div> <div class="drawerQuantity"> <i onclick="changeItem.decrement(${id})" class="fa-solid fa-minus"></i> <div class="quantity">${item}</div> <i onclick="changeItem.increment(${id})" class="fa-solid fa-plus"></i></div> </div> <div class='erase' onclick="changeItem.removeItem(${id})">Sterge</div> </div> ` }).join("")) }, closeDrawer() { console.log(this.drawerButton) console.log(this.cartDrawer) //This works document.addEventListener('click', (event) => { const withinBoundaries = event.composedPath().includes(this.cartDrawer) if (!withinBoundaries) {this.cartDrawer.style.display = 'none'} }) //This doesnt works this.drawerButton.addEventListener('click', () => { console.log(this.cartDrawer) this.cartDrawer.style.display = 'none'} ) document.addEventListener('keydown', function(event){ if(event.key === "Escape") { this.cartDrawer.style.display = 'none'} }) }}
about 4 years ago · Santiago Gelvez
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda