Foros del Web » Programando para Internet » Javascript »

Saber si un elemento tiene el foco

Estas en el tema de Saber si un elemento tiene el foco en el foro de Javascript en Foros del Web. Hola. Necesito saber si un control de formulario tiene el foco en un momento determinado. Pero lo cierto es que no encuentro el método que ...
  #1 (permalink)  
Antiguo 26/09/2006, 13:50
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 9 meses
Puntos: 0
Saber si un elemento tiene el foco

Hola.

Necesito saber si un control de formulario tiene el foco en un momento determinado. Pero lo cierto es que no encuentro el método que devuelva esta información, ni siquiera sé si existe. Al paracer el hasFocus() sólo funciona en el document.

¿Alguien sabe cuál es ese método cómo se puede averiguar?

Gracias de antemano.
  #2 (permalink)  
Antiguo 26/09/2006, 14:14
 
Fecha de Ingreso: diciembre-2003
Mensajes: 1.583
Antigüedad: 20 años, 4 meses
Puntos: 13
onfocus si quieres detectar cuando tenga foco, onblur si quieres detectar cuando pierda foco:

Código:
<input type="text" onfocus="alert('Tengo foco :D')">
<input type="text" onblur="alert('He perdido foco :(')">
  #3 (permalink)  
Antiguo 26/09/2006, 14:41
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 9 meses
Puntos: 0
Gracias por responder frijolerou, pero mi problema no es ése. No quiero hacer algo cuando el elemento obtiene el foco ni cuando lo pierde. Lo que necesito saber es si un elemento tiene el foco, si existe una función booleana que devuelva cierto si el elemento al que se aplica tiene el foco, o falso si no lo tiene. Y si no existe dicha función o método, qué alternativa puedo estudiar para consguirlo.

saludos.
  #4 (permalink)  
Antiguo 26/09/2006, 15:30
 
Fecha de Ingreso: agosto-2006
Mensajes: 121
Antigüedad: 17 años, 9 meses
Puntos: 0
Bueno, al parecer no existe el método que yo busco (que alguien me corrija si estoy equivocado), por lo que es necesario hacer algún tratamiento especial para conocer dicha información. Yo me lo he montado de manera que añado una propiedad llamada foco a elemento que me interesa, y la pongo a true cuando sucede onFocus, mientras que la dejo a false cuando sucede onBlur.

Puede que sea una forma sucia de hacerlo, pero no se me ocurre otra mejor ahora mismo. Si alguien la conoce, le estaría muy agradecido de que la comentase en este tema.

Un saludo
  #5 (permalink)  
Antiguo 12/11/2012, 17:46
 
Fecha de Ingreso: mayo-2011
Mensajes: 105
Antigüedad: 13 años
Puntos: 3
Respuesta: Saber si un elemento tiene el foco

Revivo el tema... la solucion podria ser esta:


Código Javascript:
Ver original
  1. function TengoelFoco(idmicontrol){
  2.  
  3. var lotengo = false
  4.  
  5. $('#'+idmicontrol).focusin(function(){
  6.        lotengo = true;
  7. });
  8.  
  9. $('#'+idmicontrol).focusout(function(){
  10.        lotengo = false;
  11. });
  12.  
  13. return lotengo;
  14. }
  #6 (permalink)  
Antiguo 12/11/2012, 22:19
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 6 meses
Puntos: 317
Respuesta: Saber si un elemento tiene el foco

En primer lugar, el tema ya tiene varios años, y no había necesidad de levantarlo por algo que ya se trató mil veces.

Como puedo saber quien tiene el foco?

En segundo, eso no es javascript, por si no estás enterado. (Aunque hay algo de eso En IE.)

live de jQuery + registro de eventos JSPlus

Y en tercero, ya que ando por acá, aprovecho a comentar que se puede leer en el documento cuál es el elemento que está activo, y sacar su identificador o aplicarle algún formato o lo que fuere con

Código:
document.activeElement. ...
Pero no sé qué tan compatible será.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:01.