2012-07-08 50 views
1

將新的jQuery移動元素插入到頁面中時,它們的樣式不正確,即使在包含元素上使用.trigger("create");也是如此。但是,這樣做確實可以設置正確的樣式,但不足之處。jQuery mobile:插入新元素的樣式不正確

例如,附加像這樣當:

for (var i=0; i<len; i++){ 
      ... 
      $('#results').append("<a href='#' data-role='button'>"+content+"</a>"); 
     } 
     $('#results').trigger("create"); 

顯示器是像這樣:

enter image description here

通知額外圓角。然而,如果我只包括網頁上的代碼,它顯示正常,像這樣:

enter image description here

同樣的問題發生任何時候我什麼加載到頁面後,頁面加載。有沒有人知道解決這個問題的方法,而不是僅僅強制自定義樣式表中的樣式?

+0

更換

$('#results').trigger("create"); 

可以解決你可以發佈一個樣品jsbin? JQM的版本是什麼? – sleepwalker 2012-07-08 08:24:27

回答

3

「Create」事件增強了觸發元素中的子標記(例如$('#results')...)。

所以,你可以通過

$('#results').parent().trigger("create"); 

Demo:jsfiddle

+1

我必須再往上走一步,才能正常工作$('#results')。parent()。parent()。trigger(「create」),但是這解決了問題。謝謝! – Fraser 2012-07-08 22:52:12

0

jquery mobile使用html屬性來設置頁面樣式,這種樣式中的一些還包括在頁面中添加某些元素(span,div等)。

jquery mobile還附帶了一個CSS,它可以調整thos的風格。所以,即使你有一個非常簡單的HTML頁面,如果你使用Firebug或其他檢測工具來查看它,你會發現很多其他元素動態添加到頁面中。

如果你去添加另一個元素,你需要確保它符合jquery mobile css設計。如果沒有,您需要找到影響您新添加的elemnt的類(再次使用firebug),並在jquery mobile css中編輯樣式,或者使用樣式表覆蓋樣式。

相關問題