所以我动态地将文本输入插入到iframe内的jQuery移动页面中。我可以让它正确插入但触发器('create')方法不应用任何jqm样式,虽然它也不会抛出任何javascript错误。
插入iframe的页面上的代码:
$('.textarea').click(function() {
$('#form').contents().find('#maincontent').append('<div data-role="fieldcontain"><label for="insert">Text Input:</label><input type="text" name="insert" id="insert" value="" /></div>');
$('#form').contents().find('#maincontent').trigger('create');
});
这里是iframe内部(在插入新文本输入之前)的样板jqm maincontent(我已经排除了页眉/页脚以便于阅读)
<div data-role="content" id="maincontent">
<div data-role="fieldcontain">
<label for="name">Text Input:</label>
<input type="text" name="name" id="name" value="" />
</div>
</div>
答案 0 :(得分:0)
创建事件可能会被触发,但你在哪里听它并回复?
就此而言,你可能需要像
这样的东西$("#maincontent").bind('create', function() {
//respond to the fired event
})
答案 1 :(得分:0)
我做出以下假设:
你试过这个:
$('.textarea').click(function() {
var iframecontent = $('#form').contents().find('#maincontent');
var newstuff = $('<div data-role="fieldcontain"><label for="insert">Text Input:</label><input type="text" name="insert" id="insert" value="" /></div>');
newstuff.appendTo(iframecontent).trigger('refresh');
});
答案 2 :(得分:0)
完成所有插入操作后运行此行。
$('body').append(html).trigger('create');
另一个SO用户https://stackoverflow.com/users/456850/devin-dixon(Original Question)找到了窍门。
答案 3 :(得分:0)
在iframe中创建一个函数,并在该函数中包含trigger('create')方法。然后从iframe调用该函数。
见this。