【问题标题】:jquery mobile trigger('create') method doesn't work with iframejquery mobile trigger('create') 方法不适用于 iframe
【发布时间】:2013-08-13 10:16:58
【问题描述】:

当我尝试对 iframe 内容调用 .trigger('create') 方法时,它不起作用,并且 css 类不会应用于 input:text 元素。但是当我为 iframe 之外的 html 内容调用 .trigger('create') 方法时,它可以工作

请转到 jsfiddle 上的此链接 'here' 并点击“加载移动视图”

javascript 代码

$('#mobile_view').contents().find('body').append("<div id='fbm_mob_menu'></div>");

$("#load_mobileview").click(function(){
    var content = ' <form class="fbm_contactform">\
    <div>Contact Us</div>\
    <div data-role="fieldcontain"><label for="name" >Name</label>\
    <input name="name" type="text" class="m-field" /></div>\
    <div data-role="fieldcontain"><label for="email">Email</label>\
    <input name="email" type="text" class="m-field" /></div>\
    <div data-role="fieldcontain"><label >Message</label>\
    <input name="message" type="text" class="m-field" /></div>\
    <input name="submitButton" type="submit" class="m-field" value="Send Message"  /></div>\
    </form> ';
$("#mobile_view").contents().find("#fbm_mob_menu").before(content);
$("#mobile_view").contents().find(".fbm_contactform").trigger("create");      
});

html代码

<a href="javascript:void(0)" id="load_mobileview" >load mobile view </a>
<iframe id="mobile_view"></iframe>
<div id="test"></div>

【问题讨论】:

    标签: jquery-mobile iframe


    【解决方案1】:

    iFrame 内容不应“轻松”访问,所以对我来说这是正确的行为。

    如果您查看jQuery Mobile API 示例,您可以看到所有页面都是使用 iFrame 完成的,并且每个 iFrame 都有自己的 jQuery Mobile 版本。

    因此,如果您有 iframe,请将 JQM 包含在 iFrame 中,一切都会好起来的。

    【讨论】:

    • 我已经在 iframe html 中包含了 JQM。但我需要将内容动态添加到 iframe 并将 jquery 移动样式应用于该内容。我正在开发一个将网站转换为移动网站的项目。所以我必须想办法做到这一点。
    【解决方案2】:

    我可以通过在 iframe 中编写一个 javascript 函数来解决这个问题。并从 iframe 外部调用该函数。

    在 iFrame 中

    <script>
    window.trigerCreate =function(){$(".fbm_contactform").trigger("create");}
    </script>
    

    父母

    window.frames[0].trigerCreate();
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-03-02
      • 2012-10-07
      • 2013-08-01
      相关资源
      最近更新 更多