jQuery mobile:数据角色和角色/类之间的区别



我对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-contentrole=”main”

此外,.buttonMarkup()data-role="button"已弃用,并将在1.5中删除。

最新更新