@ephox/darwin

中文文档
10.0.0发布于 2026/03/31GPL-2.0-or-laterTypeScriptESM + CJS近 30 天下载 2724

这个工程的目的是处理选择和光标导航.

中文使用文档

说明

一旦完成,希望 darwin 将为完全接管选择提供一个框架(如基于DOM的编辑器)。 在现阶段,它只用于表格.

安装

darwin 可作为 npm 软件包。 您可以通过 npm 软件包安装 @ephox/darwin

从 npm 安装

npm install @ephox/darwin

使用量

  1. 在表格中处理 Webkit Up/ Down

对于Webkit浏览器,当用户按上或下时,原生行为是水平地移动到下一个单元格,而不是垂直. 这混淆了用户. 项目 darwin 试图通过可能压倒上下关键事件来补救这一点.

现(包括 (单位:千美元) 如果用户在
(或参考a)
由父偏移),相邻的相邻节点是单元格的边缘,重新启动进程,但从单元格的边缘开始. 如果相邻的节点不是边缘,请不要超越密钥。 浏览器应该自然地移动到相邻的节点. b. 如果用户不在a
,继续这一进程

c. 找到(x,y)坐标(包括、冲抵)并将其转向相应方向。 继续移动直到找到包含此(x,y)位置的元素,元素的y位置与初始y位置不同. 注意,如果我们不... 那就不要超过钥匙. d. 在转动(x,y)位置下找到元素,必要时滚动 e. 通过将这一要素与原始要素进行比较来评估这一要素

一,如果元素处于不同的行中,而x值相重叠,那么这就是上下相邻的单元格,我们有一个成功的覆盖. 超越关键事件. 二,如果元素位于不同的单元格中,且有非x值相重叠或同行相重叠的不同行,则重复(c)与单元格相邻的边缘相接. 页:1 不要超越关键事件.

目的是,我们只有在以下情况下才压倒关键事件:

  1. 我们找到一个与原元素水平对齐的元素,在正确的方向上有y值.

注意,如果我们不覆盖密钥,那么浏览器的默认处理被认为足够好. 在不位于单元格边缘的 BR 标签附近按下上/下将属于这种情况.

版本与发布记录

@ephox/darwin 共发布 92 个版本,首次发布于 2017/10/03;过去 12 个月发布了 1 个版本。

版本发布日期距今
10.0.0latest2026/03/317 个月前
8.2.12024/02/072 年前
8.2.02023/11/222 年前
8.1.02023/08/303 年前
8.1.0-alpha.0rc2023/08/183 年前
8.0.122023/06/123 年前

其他发布通道:legacy → 7.0.5,rc → 8.1.0-alpha.0。

关于 @ephox/darwin 的常见问题

@ephox/darwin 是什么?

这个工程的目的是处理选择和光标导航.

如何安装 @ephox/darwin?

在项目目录运行 npm install @ephox/darwin,或使用 pnpm add / yarn add / bun add。

@ephox/darwin 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@ephox/darwin 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@ephox/darwin 可以商用吗?

@ephox/darwin 使用 GPL-2.0-or-later 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@ephox/darwin 的下载量有多少?

根据 npm 官方下载统计,@ephox/darwin 在 2026/10/14 – 2026/11/12 这 30 天内被下载 2,724 次,日均约 91 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ephox/darwin 还在维护吗?

最新版本 10.0.0 发布于 2026/03/31(7 个月前);至今共发布 92 个版本,其中过去 12 个月发布了 1 个;首次发布于 2017/10/03。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。