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

154
Vistas
Optimización de Javascript Event Listener varias veces el mismo efecto

Quiero algo que cuando tenga un addEventListener('mouseover') afecte a los dos elementos junto a él.

Como esto:

 let three = document.getElementById('three'); let six = document.getElementById('six'); intersection3_6.addEventListener("mouseover", function () { three.classList.add("hover"); six.classList.add("hover"); }); intersection3_6.addEventListener("mouseout", function () { three.classList.remove("hover"); six.classList.remove("hover"); });
 #table { display: grid; grid-template-columns: 50px 50px; grid-template-rows: 50px 50px; } #controls { position: absolute; height: 100%; width: 100%; display: grid; grid-template-columns: 44px 12px 44px; grid-template-rows: 50px; pointer-events: none; } #intersection3_6 { pointer-events: all; background-color: red; grid-column-start: 2; } .hover { background-color: aqua; }
 <div id="table"> <button id="three"><span>3</span></button> <button id="six"><span>6</span></button> <div id='controls'> <div class='vertical' id='intersection3_6'></div> </div> </div>
Funciona, pero obviamente cuando tengo algo como esto con múltiples intersecciones se vuelve aburrido y no está optimizado para repetirme cada vez (podemos concentrarnos en la primera fila donde están las intersecciones moradas) ingrese la descripción de la imagen aquí

¿Hay alguna manera de decir algo como 'toma el de tu izquierda y el de tu derecha y hazlo'?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Recorra todos los elementos con la misma clase y use las operaciones de navegación DOM para llegar a los elementos junto al destino del evento.

 document.querySelectorAll(".vertical").forEach(int => { int.addEventListener('mouseover', (e) => { let table = e.target.parentElement.parentElement; table.childElements[0].classList.add('hover'); table.childElements[1].classList.add('hover'); }); int.addEventListener('mouseout', (e) => { let table = e.target.parentElement.parentElement; table.childElements[0].classList.remove('hover'); table.childElements[1].classList.remove('hover'); }); });
about 4 years ago · Juan Pablo Isaza Denunciar
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