2012-10-12 149 views
1

數據主題按照jQuery Mobile Docs容器內任何形式的元素將採用集裝箱元素不再繼承父

查詢移動擁有豐富的主題化系統,讓您的 如何完全控制data-theme頁面和表單是風格的。默認情況下, 容器中的所有表單元素都將自動採用與其父級相同的主題顏色樣本 。這允許表單元素以最小的工作融入其佈局 。數據主題屬性可應用於任何 個別表單元素,以應用任何字母主題顏色 色板,以在設計中創建對比度和重點。

但是似乎與最近的jQuery Mobile的釋放(1.2),這不再是真實的,我注意到,表單元素現在從page,而不是自己更直接父項的繼承data-theme

例如給出下面的標記

<div data-role="page"> 
<div data-role="header"><h3>Header</h3></div> 
<div data-role="content" data-theme="a"> 
     <ul data-role="listview" data-inset="true" data-theme="c"> 
     <li> 
      <input type="button" value="test" /> 
     </li> 
     <li> 
      <select > 
       <option value="1">Option 1</option> 
       <option value="2">Option 2</option> 
      </select> 
     </li> 
     <li> 
      <div data-role="fieldcontain" data-theme="c" > 
     <fieldset data-role="controlgroup" data-theme="c" data-type="horizontal" > 
      <legend>Group Size</legend> 

      <input type="radio" name="testRdoGrp" id="testRdoGrp1" checked="checked" value="1" /> 
      <label for="testRdoGrp1">1</label>  
      <input type="radio" name="testRdoGrp" id="testRdoGrp2" value="2" /> 
      <label for="testRdoGrp2">2</label> 

     </fieldset> 
     </div> 
     </li> 
    </ul> 
</div> 
<div data-role="footer"><h3>Footer</h3></div> 
</div> 

Jsbins:

With JQM 1.1

With JQM 1.2

使用JQM 1.1輸入,選擇和無線電組將使用Ç主題樣本(繼承自listview),b當使用JQM 1.2輸入時,選擇和收音機組將使用a swatch。

即使容器的data-role =「fieldcontain」(例如我提供的示例中的無線電組),這似乎也是如此。

直接在元素上設置data-theme仍然有效,但除此之外,我認爲先前的行爲使得在我的情況下使用更清晰的標記,我有相當多的標記,我寧願不必通過每個元素並單獨添加data-theme

是否有人知道某種方式還原爲1.1行爲?

回答

0

我還沒有在任何地方發現這種行爲變化,但我發現這個問題的部分解決方法。使用ui-body-(加上swatch的字母)類添加色板會導致元素從父級繼承數據主題。

例如

<ul data-role="listview" class="ui-body-c" data-inset="true" data-theme="c"> 
    <li> 
     <input type="button" value="test" /> 
    </li> 
</ul>