elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.


 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Resuelto] [Pregunta]: Sacar foco a cualquier input
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Resuelto] [Pregunta]: Sacar foco a cualquier input  (Leído 426 veces)
MiguelCanellas


Desconectado Desconectado

Mensajes: 596



Ver Perfil
[Resuelto] [Pregunta]: Sacar foco a cualquier input
« en: 27 Julio 2020, 04:57 »

Quisiera por medio de javascript sacarle el foco a cualquier input si lo tuviera...

Código
  1. if(¿El foco está dentro de un input?)
  2. {
  3.      [Eliminar/Sacar foco del input]
  4. }
  5.  


« Última modificación: 4 Agosto 2020, 07:54 por #!drvy » En línea

[u]nsigned


Desconectado Desconectado

Mensajes: 2.372

Vue SSr


Ver Perfil WWW
Re: [Pregunta]: Sacar foco a cualquier input
« Respuesta #1 en: 27 Julio 2020, 05:54 »

Se hace invocando al método blur de dicho input:

Código
  1. <input id="campo" value="perdere el focus a los 2 segundos" onfocus="func()"/>
  2.  
Código
  1. function func(){
  2.  setTimeout( function() {
  3.             document.getElementById('campo').blur()
  4.        }, 2000)
  5. }



« Última modificación: 27 Julio 2020, 06:00 por [u]nsigned » En línea

No hay atajo ante la duda, el misterio se hace aquí...
Se hace carne en cada uno, el misterio es existir!
MiguelCanellas


Desconectado Desconectado

Mensajes: 596



Ver Perfil
Re: [Pregunta]: Sacar foco a cualquier input
« Respuesta #2 en: 27 Julio 2020, 07:07 »

Imagino que es mejor usar jquery
pero me refiero a que yo de entrada no se que elemento input tiene foco, simplemente se que el mouse o el cursor está presionado en un input y que se tiene que quitar dicho foco de x input... ¿como lo haría?

creo que como dije antes, con algo de jquery y usar e.blur(); o algo así...
En línea

MinusFour
Colaborador
***
Desconectado Desconectado

Mensajes: 4.914


I'm fourth.


Ver Perfil WWW
Re: [Pregunta]: Sacar foco a cualquier input
« Respuesta #3 en: 27 Julio 2020, 14:56 »

Esta pregunta es muy vieja, estoy seguro que lo pudiste haber encontrado en google en 2 mins...

Código
  1. $('input:focus').blur();

Ojo, no lo vayas a poner en un botón.
« Última modificación: 27 Julio 2020, 14:58 por MinusFour » En línea

EdePC
Colaborador
***
Desconectado Desconectado

Mensajes: 1.331



Ver Perfil
Re: [Pregunta]: Sacar foco a cualquier input
« Respuesta #4 en: 27 Julio 2020, 16:38 »

Es raro que no sepas a que input aplicarle el evento ... por lo general esto se hace directamente en el mismo input:

Código
  1. <input type="text" class="nofocus" onclick="this.blur()">

- Así es menos costoso, y sirve para inputs específicos. Pero si no sabes a que input, puedes pulir la idea de MinusFour considerando que (al menos a mi entender) para darle eventos a un objeto que aún no existe como es el caso de un input:focus, hay que Bind-ear el evento. Además también puedes afinar tu tipo de input así (en este caso type=text):

jQuery:

Código
  1. <script src="https://code.jquery.com/jquery-3.1.0.js"></script>
  2.  
  3. <input type="text">
  4. <input type="password">
  5. <input type="button" value="Enviar">
  6.  
  7. <script>
  8.  $('input[type=text]').bind('focus', function(){
  9.    $(this).blur()
  10.  })
  11. </script>

Si tus input ya están creados bastaría con:

Código
  1.  $('input[type=text]').focus(function(){
  2.    $(this).blur()
  3.  })

javascript puro y duro:

Código
  1.  document.querySelector('input[type=text]').onfocus = function(){
  2.    event.target.blur()
  3.  }

- Recuerda que si vas a encadenar funciones a un solo tipo de evento tienes que usar addEventListener
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines