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