我对jQuery和web设计真的很陌生,请原谅我问这个天真的问题。
在最新的jQuery移动网站上,他们有这样的例子:
<div role="main" class="ui-content">
<p>Page content goes here.</p>
</div><!-- /content -->
在一些旧的上,他们有:
<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"
也在做同样的事情吗?如果是,他们为什么同时使用两者?
我知道第二个问题是一个非常大的问题,只要有人能给我指一个可以解释这一点的文档链接,我就会非常感激
谢谢!
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中没有任何特殊功能。
性能(参考)
为了提高性能,我们减少了DOM操作。样式为buton的元素的内部标记的生成已完全删除。在许多情况下,框架只是在增强过程中将类添加到本机元素中,我们甚至减少了框架添加的类的数量。
一些不推荐使用的data-role
的:(参考)
-
弃用
$.fn.mobile.fieldcontain()
和data-role=”field-contain”
。只需添加类别“ui-field-contain”
。 -
不推荐使用
data-role=”content”
和选项contentTheme(data-theme
)。这也意味着该框架不再添加ARIA角色“main”
。改为在标记中添加类ui-content
和role=”main”
。
此外,.buttonMarkup()
和data-role="button"
已弃用,并将在1.5中删除。