jQuery UI 正在进行 API 重新设计,这将精简 API 的规模,以便提供一个更稳定的代码库,更易于学习和使用。我们将在未来几周发布建议的更改,以便收集社区的反馈。我们的目标是在 1.9 中同时支持旧(当前)和新(建议的)API,然后在 2.0 中移除对旧 API 的支持。此帖子列出了手风琴小组件的建议更改的详细信息以及每项更改背后的理由。
API 重新设计
移除导航和 navigationFilter 选项。
移除与导航相关的选项,支持在初始化期间设置 active 选项。内置的导航过滤器并不总是合理,并且默认情况下处于关闭状态。我们计划添加一个演示,展示如何实现当前的导航功能,以及一个演示,展示如何使用 Cookie 存储活动面板。
将 autoHeight、fillSpace 和 clearStyle 选项合并到一个名为 fixedHeight 的新选项中
autoHeight、fillSpace 和 clearStyle 选项都涉及类似的问题,因此不能同时使用。为同一功能(面板的高度)提供三个选项,会造成 API 复杂且混淆。这三个选项将被替换为一个名为 fixedHeight 的单布尔选项。将其设置为 true(默认值)时,所有面板都将具有相同的高度。如果手风琴的高度为“自动”,则所有面板都将与最高面板一样高(相当于 autoHeight: true)。如果手风琴具有明确的高度,则所有面板将基于该高度调整大小(相当于 fillSpace: true)。当 fixedHeight 设置为 false 时,将不会对面板的高度进行计算,并且将基于它们的内容进行调整大小(相当于 clearStyle: true)。
将 icon.headerSelected 选项重命名为 icon.activeHeader
此选项正在重命名,以实现手风琴(在处理活动面板时,活动与选中)内部和整个 jQuery UI 套件内部的一致性。
删除 activate 方法
将删除 activate 方法,转而更新活动选项。包含 activate 方法并不会简化手风琴的使用,因此没有必要。
将 resize 方法重命名为 refresh
此方法正在重命名,以实现整个 jQuery UI 套件内部的一致性。但是,此方法现在将继续仅处理大小更改。我们计划在未来支持添加/删除面板。
将 changestart 事件重命名为 beforeactivate
此事件正在重命名,以实现手风琴(在处理活动面板时,激活与更改)内部和整个 jQuery UI 套件内部的一致性。
将 change 事件重命名为 activate
此事件正在重命名,以实现手风琴(在处理活动面板时,激活与更改)内部和整个 jQuery UI 套件内部的一致性。
添加 .ui-accordion-heading 类
当前并未使用类添加到每个面板的标题中。这将导致样式表使用 .ui-accordion-header a
进行设置样式,从而难以向标题添加其他锚点。为了解决此问题,我们将向每个标题的第一个子代添加一个类,并使用新类进行设置样式。
反馈
我们很想听到您对这些更改的反馈。在最终确定和实施这些更改之前,我们希望确保解决社区可能遇到的任何问题。如果您有任何反馈,请将其发布在 相关论坛帖子 上。谢谢。