Foros del Web » Programando para Internet » Javascript »

Darle el foco al body de un iframe

Estas en el tema de Darle el foco al body de un iframe en el foro de Javascript en Foros del Web. Hola a todos. La pregunta es bastante simple de plantear: ¿Cómo puedo darle el foco a un elemento que está en un iframe ? Estoy ...
  #1 (permalink)  
Antiguo 09/03/2008, 10:24
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 4 meses
Puntos: 1
Darle el foco al body de un iframe

Hola a todos.

La pregunta es bastante simple de plantear: ¿Cómo puedo darle el foco a un elemento que está en un iframe?

Estoy utilizando el designMode = 'on' para poder editar contenido en un iframe, pero el caso es que no puedo jugar con el foco del mismo. En Opera

Código:
document.getElementById("contentIframe").contentDocument.body.focus();
o

Código:
document.getElementById("contentIframe").focus();
funcionan perfectamente (me ponen el foco en el iframe, con su correspondiente cursor por ser un campo editable), pero en Firefox e IE no.

¿Alguna sugerencia?

Gracias por vuestro tiempo.
  #2 (permalink)  
Antiguo 09/03/2008, 10:34
Avatar de JavierB
Colaborador
 
Fecha de Ingreso: febrero-2002
Ubicación: Madrid
Mensajes: 25.052
Antigüedad: 22 años, 2 meses
Puntos: 772
Re: Darle el foco al body de un iframe

Hola Sanva

En este mensaje preguntaron algo parecido:

http://www.forosdelweb.com/f13/desha...iframe-558921/

Saludos,
  #3 (permalink)  
Antiguo 09/03/2008, 13:03
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: Darle el foco al body de un iframe

Pero el problema que tengo no es el no poder acceder al iframe, ya que la ruta que pongo está bien, pues al hacer un

Código:
alert(document.getElementById("contentIframe").contentDocument.body);
el mensaje es [object HTMLBodyElement], luego estoy apuntando bien. Pero por alguna razón no le da la gana al explorador de darle el foco a ese elemento, por estar en un iframe supongo, y eso es lo que no comprendo.
  #4 (permalink)  
Antiguo 11/03/2008, 01:23
 
Fecha de Ingreso: diciembre-2005
Ubicación: Redondela (Galicia)
Mensajes: 368
Antigüedad: 18 años, 4 meses
Puntos: 1
Re: Darle el foco al body de un iframe

Ya he encontrado la forma de hacerlo, gracias al código fuente de TinyMCE y a la documentación del DOM de Gecko por parte de Mozilla:

Código:
document.getElementById("contentIframe").contentWindow.focus();
Funciona en IE y Firefox, mas no en Opera, para el cual funciona lo anteriormente expuesto.

Saludos.
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:08.