2014-02-15 86 views
4

我對jQuery和網頁設計非常陌生,請原諒我提出這個天真的問題。jQuery mobile:數據角色和角色/類別之間的區別

latest jQuery mobile website,他們有例子爲:

<div role="main" class="ui-content"> 
    <p>Page content goes here.</p> 
</div><!-- /content --> 

而且on some older ones,他們有:

<div data-role="content"> 
    <p>Page content goes here.</p> 
</div> 

我的問題是: 1)這只是一個版本的問題,即第一情況優於第二種情況,對於新版本?

我個人覺得有點不舒服,因爲我有data-role="page""header""footer",但是對於中間的一個不一致。

2)我試圖在他們的API文檔中找到這部分,但找不到它 - role="main"class="ui-content"的單獨角色是什麼?我認爲數據角色只適用於jQuery在pagecreate上應用類,在這種情況下,role="main"做同樣的事情?如果是這樣,他們爲什麼同時使用?

我知道第二個問題是一個非常大的問題,只要有人能指向我的文檔鏈接,可以解釋這一點,我真的很感激它。

謝謝!

回答

10

data-role="content"已被用於jQuery Mobile的第一個版本,直到1.3.2。在新的穩定版本中,它已被更改爲<div role="main" class="ui-content">,此外還有其他data-role已被刪除並被替換爲類。

原因jQuery Mobile的決定棄用一些data-role的,是加快初始化和減少增強 DOM元素的時間。此外,已棄用的data-role不是小部件,所以它們在jQM API中沒有任何特殊功能。

性能reference

爲了提高性能,我們減少DOM操作。代替布斯風格元素的內部標記已經被完全刪除。在許多情況下,框架只是在增強過程中將類添加到本地元素,我們甚至減少了框架添加的類的數量。

一些棄用data-role的組成:(reference

  • $.fn.mobile.fieldcontain()棄用和data-role=」field-contain」。只需添加類「ui-field-contain」

  • 已棄用data-role=」content」和選項contentTheme(data-theme)。這也意味着該框架不再增加ARIA角色「main」。改爲在您的標記中添加類ui-contentrole=」main」

此外,.buttonMarkup()以及data-role="button"被取消,並將在1.5被移除。

相關問題