Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

139
Visualizações
Menú de opciones de posicionamiento directamente debajo del texto resaltado

Estoy tratando de mostrarle al usuario un menú emergente con algunas opciones si resalta algún texto en el navegador. Quiero que el menú se muestre directamente debajo del texto resaltado.

Actualmente estoy usando getBoundingClientRect() en el range del texto. Pasando el objeto al menú y usando las coordenadas para establecer el posicionamiento.

 function doSomethingWithSelectedText() { let selectedText = getSelectedText(); let sel; if (selectedText && selectedText.indexOf(' ') === -1) { console.log('SELECTED TEXT =>', selectedText) sel = window.getSelection(); if (sel.rangeCount) { let range = sel.getRangeAt(0); let coords = range.getBoundingClientRect() setTimeout(() => { handleShowMenu(coords) }, 800) } } }
 const handleShowMenu = (coords) => { menu.style.display = 'block' menu.style.left = coords.x + 'px' menu.style.top = coords.y + 'px' }

Durante algunas pruebas de resaltado de varios elementos de texto, noto:

  • El menú está ubicado justo debajo de las etiquetas <p> perfectamente según mi deseo.
  • El menú está ubicado debajo de <h3> pero más cerca de la parte superior, casi superponiéndose al texto.
  • El menú está ubicado justo debajo de <h1> pero ahora se superpone parcialmente a la parte inferior del texto.

¿Alguna razón para este comportamiento, así como una posible solución? Gracias.

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

menu.style.top = coords.y + 'px'

a

 menu.style.top = coords.bottom + "px";

Debería funcionar si estoy entendiendo tu pregunta correctamente. Obviamente, puede usar comillas simples si lo prefiere, solo prefiero comillas dobles, y recomendaría agregar los puntos y comas que no está incluyendo, pero de nuevo depende de usted, supongo.

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda