2012-08-22 27 views
7

¿Cómo puedo activar un evento de clic dentro de un iframe a un elemento de su elemento primario?cómo desencadenar un evento de clic desde un iframe a un elemento de su elemento primario?

Probé el siguiente código en la página principal antes de abrir el iframe.

jQuery('iframe').contents().bind('eventhandler', function() {    
       alert('event was fired'); 
     }); 

También probé

jQuery(document).bind('eventhandler', function(e) { 
alert('event was fired'); 
}); 

y dentro del marco flotante He Embebido este código en un evento de clic

jQuery(document).trigger('eventhandler');      

pero does't trabajo estoy haciendo algo mal aquí?

+0

duplicado posible de [evento de clic de activación en si rame parent window] (http://stackoverflow.com/questions/3521947/trigger-click-event-in-iframe-parent-window) –

Respuesta

6

Debe consultar el documento principal del iframe. Esto debería hacer lo que tiene:

index.html:

<iframe src="iframe.html"></iframe> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script> 
$(function(){ 
    $(document).on('eventhandler', function() {    
     alert('event was fired'); 
    }); 
}); 
</script> 

Iframe.html:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script> 
<script> 
$(function(){ 
    parent.$(parent.document).trigger('eventhandler'); 
}); 
</script> 
+0

está funcionando, gracias. Espero no tener ningún problema con IE o Chrome. , No lo probé todavía Solo en firefox – themis

+0

si ejecuta eso desde un servidor (apache o cualquier otro) debería funcionar en todas partes. El único problema será en un evento improbable cuando el iframe (y el contenido iframe y jquery) se cargarán antes del jQuery principal, pero supongo que no estás activando el evento "onload" como en mi ejemplo :-) – tborychowski

+0

no funciona a la perfección bien. Agrego el primer evento en el estado listo, y luego el segundo en un botón que se hace clic dentro del iframe y funciona. Gracias – themis

Cuestiones relacionadas