Estoy teniendo algunos problemas con focus(function(){}) y blur(function(){}) dentro de una secuencia de comandos que está anidada dentro de una carga dinámica iframe..

A continuación es la etiqueta de secuencia de comandos EN el iframe se carga dinámicamente. En cualquier caso me tiro en la secuencia de comandos de marcado no está funcionando, cosas simples como un $('input').click(function(){alert('fired')}); no se ejecute. No estoy seguro de lo que está pasando.

Sí, jQuery que se carga en el iframe en la cabeza.

<script type="text/javascript">
//<![CDATA[
    $(document).ready(function() {

        $('.form .field-content').find('input, select, textarea').focus(function() {
            $(this).closest('.field').addClass('focused');
        });

        $('.form .field-content').find('input, select, textarea').blur(function() {
            $(this).closest('.field').removeClass('focused');
        });

        $('.form .field-content').find('input, select').keypress(function(e) {
            if (e.which == 13) {
                e.preventDefault();
                $(this).closest('.form').find('.button').first().click();
            }
        });

        $('.form .button').focus(function() {
            $(this).addClass('focused');
        });

        $('.form .button').blur(function() {
            $(this).removeClass('focused');
        });

        //focus on first field
        $('.form .field-content').find('input, select, textarea').first().focus();

    });
//]]>
</script>
Funciona al cargar la URL del iframe directamente en su navegador, en lugar de como un iframe?
Yo creo que el problema que se enfrentan se refiere a cómo se carga el iframe . En lugar de cargar dinámicamente mediante secuencias de comandos, carga el iframe estáticamente y ver si funciona. Se puede ver la secuencia de comandos de elementos en la inyección de fuente de marco?

OriginalEl autor Braydon Batungbacal | 2011-11-22

5 Comentarios

  1. 4

    Quizás el problema es que el iframe contenido no ha sido cargado, intente

    $("#Your-Iframe-Id").load(function (){
        //write your code here
    });
    Sí, eso era.

    OriginalEl autor JuLy

  2. 0

    para el contenido que se dynamicaly cargado usted debe echar un vistazo a jQuery live() función

    Usando el live función en este escenario, en lugar de enlazar, no hay ninguna diferencia.
    por favor, puedes pegar aquí un poco más de código? html iframe donde jQuery no funciona

    OriginalEl autor Jan Vorcak

  3. 0

    Es el iframe cargar una dirección URL que es un dominio diferente que el contenedor primario? Si es así, usted no será capaz de utilizar javascript para manipular su contenido.

    Creo que no importa en este caso, el código javascript haciendo la manipulación está dentro del archivo html de carga en el iframe. No estoy manipulando el marco de la ventana superior.

    OriginalEl autor Jake Feasel

  4. 0

    Creo :

    $('.form .field-content').find('input, select, textarea').focus(function() {
            $(this).closest('.field').addClass('focused');
        });

    debe ser:

    $('.form .field-content').find('input, select, textarea').each(function(index) {
            $(this).focus(function(){
               alert('element ' + index + ' focused');
             });
             alert('bind focus event in element ' + index);
        });

    saludos.

    OriginalEl autor jlrvpuma

  5. 0

    Puede tener algo que ver con la seguridad en su navegador. Jugar con algunos de los valores para la zona y ver si eso ayuda.

    Qué navegador estás usando?

    OriginalEl autor Eben Roux

Dejar respuesta

Please enter your comment!
Please enter your name here