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

119
Visualizações
¿Cómo puedo congelar todos los cambios de DOM con JS?

¿Cómo puedo congelar completamente todos los cambios JS DOM usando JS desde una extensión de Chrome?

Ejemplo: un usuario pasa el mouse sobre un botón, que onMouseEnter muestra un modal y lo oculta onMouseLeave . Si vinculo una devolución de llamada a un determinado método abreviado de teclado, ¿cómo puedo congelar el DOM en ese momento para que el modal permanezca visible y nada pueda cambiar en el DOM (hasta que se vuelva a presionar el método abreviado)?

Sé que puede que no haya una API directa para congelar el DOM, pero estoy buscando ideas que me puedan ayudar a hacer esto.

Una idea que probé fue:

  • Cuando el usuario presiona el atajo (activa la congelación)
    • toma el nodo html en el estado actual
      • consultar y eliminar todos los nodos de script
      • clonar el nodo html (para deshacerse de los oyentes vinculados)
    • reemplace el nodo html real con el nodo html clonado limpio (uno sin scripts js)
  • Cuando el usuario presiona el atajo nuevamente (alterna la congelación)
    • reemplace el DOM original (con todas las etiquetas de script) de nuevo

Sin embargo, eso no funcionó, si pasaba el mouse sobre el botón y aparecía el modal, luego invocaba ese algoritmo con la combinación de teclas, la clonación se realizaría correctamente y las etiquetas de script se eliminarían, sin embargo, cuando quite el mouse del botón, el modal simplemente se cerraría. Como si el botón todavía estuviera vinculado a onMouseLeave .

Editar: estoy tratando de hacer esto desde un script externo, específicamente una extensión de Chrome.

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

0

si tiene una función "myFunc" y desea que funcione mal o deshabilitarla. puede borrar el contenido en el objeto de la ventana.

 <button onclick="freeze()">Freeze alert</button> <button onclick="testAlert()">Test alert</button> <script> function freeze() { window.testAlert = function testAlert() { }; } function testAlert() { alert('The alert is active'); } </script>

El botón de alerta no funcionará después de hacer clic en el botón de congelación.

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