2011-08-31 64 views
1

所以我將文本輸入動態地插入iframe中的jQuery移動頁面。我可以讓它正確插入,但觸發器('create')方法不適用於任何jqm樣式,儘管它不會拋出任何javascript錯誤。.trigger('create')方法不適用於文本輸入/ iframe

代碼插入到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

我沒有看到「創建」事件的任何代碼。你的意思是「pagecreate」事件? –

+0

這是一個內置的jqm函數(至少就我所知)請參閱下面留給eltuza的回答的評論以獲取更多信息 – Msencenb

回答

0

我做如下假設:

  • #form是你的iframe的ID。
  • 來自iframe的內容來自同一個域。

你有沒有嘗試過這樣的:

$('.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'); 
}); 
+0

Nope沒有工作。我也嘗試做一個創建和刷新,也沒有工作。 – Msencenb

+0

你的假設是正確的。感謝您抽出寶貴的時間:) – Msencenb

0

的創建事件可能被解僱,但如果你在聽它和迴應?

的,這意味着,你可能會需要像

$("#maincontent").bind('create', function() { 
    //respond to the fired event 
}) 
+0

閱讀jquery mobile beta for beta 2(http://jquerymobile.com/blog/2011/08/03/jquery-mobile-beta-2-released /)有一個內置的create方法。搜索「新建」創建「事件」以在公告中找到它 – Msencenb

0

在iframe中創建一個函數,並在該函數中包含觸發器('create')方法。然後從iframe之外調用該函數。

參見this