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

135
Vistas
Cómo agregar un retraso a onmousedown

Estoy tratando de establecer un retraso en el mousedown (clic) que enfoca newWin.focus en el código a continuación: en resumen, el código a continuación funciona bien. Si la ventana emergente está abierta, vuelve a enfocarse en ella (lo vuelve a poner al frente) cuando el usuario hace clic en cualquier parte de la página.

Me gustaría tener un retraso de 2 segundos cuando el usuario hace clic en la página, LUEGO hacer que se vuelva a enfocar en la nueva ventana.

He pasado horas tratando de resolver esto en vano usando varios ajustes de tiempo de espera aquí y allá. Entonces, pensé en mostrar lo que tengo que funciona y espero que alguien pueda explicar cómo se puede lograr mi necesidad.

PD: Todavía estoy aprendiendo sobre javascript y de NINGUNA MANERA me considero un experto en el tema.

¡¡Gracias por adelantado!!

 <script type="text/javascript"> var newWin; function openPopup() { newWin=window.open('https://www.somesite/url.php','window','width=400,height=600,scrollbars=0,resizable=1,top=300,left=300'); document.onmousedown=focusPopup; document.onkeyup=focusPopup; document.onmousemove=focusPopup; } function focusPopup(){ if(!newWin.closed){ newWin.focus(); } } </script>
about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

Simplemente use setTimeout para agregar el retraso.

El método global setTimeout() establece un temporizador que ejecuta una función o una pieza de código específica una vez que expira el temporizador.

 var newWin; function openPopup() { newWin = window.open('https://www.somesite/url.php', 'window', 'width=400,height=600,scrollbars=0,resizable=1,top=300,left=300'); document.onmousedown = function() { setTimeout(focusPopup, 2000); }; document.onkeyup = focusPopup; document.onmousemove = focusPopup; } function focusPopup() { if (!newWin.closed) { newWin.focus(); } }

about 4 years ago · Juan Pablo Isaza Denunciar

0

<script type="text/javascript"> var newWin; function openPopup() { newWin=window.open('https://www.somesite/url.php','window','width=400,height=600,scrollbars=0,resizable=1,top=300,left=300'); document.onmousedown=()=>{ setTimeout(focusPopup,2000) }; document.onkeyup=focusPopup; document.onmousemove=focusPopup; } function focusPopup(){ if(!newWin.closed){ newWin.focus(); } } </script>
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede agregar un setTimeout a su controlador mousedown:

 document.onmousedown = () => setTimeout(focusPopup, 2000);
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