2009-10-02 11 views
7

tengo un ifram, que tiene visibilidad oculta. hago clic en el botón - iframe estará visible y quiero centrarme en su cuerpo/contenido. porque ahora debo hacer clic en el botón y luego en el iframe, por lo que son dos clics. Quiero hacerlo con un solo clic, pero no sé cómo enfocarme en Firefox.establecer foco en cuerpo/contenido iframe en firefox?

en el explorador que está bien:

var iframe_window = window.frames["myFrame"]; 
iframe_window.document.body.focus(); 

mucha oportunidad de ejemplos para Firefox, pero que no trabajan. Alguien sabe cómo hacerlo en Firefox? Gracias.

+0

Por qué el uso de bastidor y de marco flotante !!! (enfermo) – enguerran

+0

haciendo algo así como el editor hrte rte html ... no encuentro mejor idea que utilizar iframe. no sé si es posible prescindir de un iframe. –

Respuesta

0

¿El

iframe_window.contentDocument.body.focus(); 

trabajo?

+0

no, no hace nada –

+0

¿Qué le parece usar var iframe_window = document.getElementById ('myFrame'); teniendo myFrame como el atributo id en el iframe? –

+0

sí, tengo 'myFrame' como el atributo id y también como atributo de nombre, pero todavía no funciona –

0

Creo que es posible que tenga que enfocar realmente algo dentro de el iFrame; el iFrame en sí mismo no haría nada con el enfoque, pero tal vez puedas poner un DIV dentro de él, ¿o incluso un artilugio?

4

intenta establecer el foco a iframe_window primero y a su contenido real siguiente:

iframe_window.focus(); 
iframe_window.contentDocument.body.focus(); 
0

intente ajustar el foco a la <iframe> propio elemento.

0

No todos los elementos admiten .focus(). ¿Puedes enfocar el elemento, estás tratando de enfocarte programáticamente, usando el teclado/mouse?

Enfoque puede ir a elementos de elementos o etiquetas 'a' o un lapso con propiedad contant-editable establecida en verdadero.

Encuentra un elemento así en el iframe e intenta enfocarte en eso. Deberia trabajar !!

+0

El foco también puede ir a elementos con un atributo 'tabindex'. – circusbred

0

que tenían el mismo problema (sólo en Firefox), que parecen haber resuelto estableciendo el foco en el marco flotante única después está seguro de que el iframe se haya cargado completamente. En mi iframe html:

<body onLoad="init();> 

Javascript dentro de la página iframe:

this.init = function(){ 
    parent.focusframe(); 
} 

Y esto Javascript se encuentra en la ventana principal:

this.focusframe = function(){ 
    var fr = document.getElementById("gameframe"); 
    fr.contentWindow.focus(); 
} 
Cuestiones relacionadas