我是jQuery和网页设计的新手,请原谅我提出这个天真的问题。
在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"
做同样的事情吗?如果是,为什么他们同时使用两者?
我知道第二个问题非常重要,只要有人能指出我可以解释的文档链接,我就会非常感激。
谢谢!
答案 0 :(得分: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操作。已完全删除为样式为butons的元素生成内部标记。在许多情况下,框架只是在增强期间向本机元素添加类,我们甚至减少了框架添加的类的数量。
部分已弃用的data-role
:( reference)
已弃用$.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中删除。