# @advanced-rest-client/events-target-mixin 中文文档

规范地址：https://npmcn.com/package/%40advanced-rest-client/events-target-mixin/

版本：3\.2\.6
npm 元数据更新时间：2026-04-07T19:24:34.526Z
中文译文更新时间：2026-11-06T11:47:48.896Z
软件包许可：Apache-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/%40advanced-rest-client/events-target-mixin
原文对照：https://npmcn.com/package/%40advanced-rest-client/events-target-mixin/?lang=original
项目主页：https://github.com/advanced-rest-client/events-target-mixin#readme
源码仓库：https://github.com/advanced-rest-client/events-target-mixin

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：36.4 kB，10 个文件
- 模块格式：ESM + CJS
- TypeScript 类型：未声明
- 运行依赖：1 个
- 首次发布：2019-02-21T03:11:39.148Z
- 最新版本发布：2021-10-18T19:38:03.143Z
- 近 30 天下载量：3361（2026-10-05 至 2026-11-03，npm 官方下载统计）
- 已发布版本数：12（近 12 个月 0 个）

## 中文简介

混合该支持事件的目标重定向, 因此元素在设定的节点而不是默认的节点上聆听

## 安装

```sh
npm install @advanced-rest-client/events-target-mixin
```

也可以使用：`pnpm add @advanced-rest-client/events-target-mixin`、`yarn add @advanced-rest-client/events-target-mixin`、`bun add @advanced-rest-client/events-target-mixin`

## README

# 被否决

使用 `@anypoint-web-components/awc` 模块.

* * *

支持事件的Mixin 目标重定向, 所以元素会从默认状态中听取设定的节点 `window` 对象.

## 使用量

### 安装

```sh
npm install @advanced-rest-client/events-target-mixin --save
```

### 在网络组件中

```javascript
import { EventsTargetMixin } '@advanced-rest-client/events-target-mixin';

class SampleElement extends EventsTargetMixin(HTMLElement) {
  _attachListeners(node) {
    node.addEventListener('my-event', this._testEventHandler);
  }

  _detachListeners(node) {
    node.removeEventListener('my-event', this._testEventHandler);
  }

  _testEventHandler() {

  }
}
customElements.define('sample-element', SampleElement);
```

```html
<sample-element id="example"></sample-element>
<div id="target"></div>
<script>
example.eventsTarget = target;
</script>
```

元素会聆听通过#目标元素发泡的事件.

### 在不扩展 HTMLElement 接口的类中

当构建对象时称为 `_eventsTargetChanged()` 方法为 一个默认事件目标对象。 如果参数没有设定, 那么 `window` 改为使用.

```javascript
import { EventsTargetMixin } '@advanced-rest-client/events-target-mixin';

class EventableObject extends EventsTargetMixin(Object) {
  constructor() {
    super();
    this._eventsTargetChanged();
  }
}
```

因为这种班没有生命周期方法,你应该打电话 `detachedCallback()` 当实例不再听取目标对象时手动操作. 跳过 这部分可能导致GC不从内存中清除实例.

### 发展

```sh
git clone https://github.com/advanced-rest-client/events-target-mixin
cd events-target-mixin
npm install
```

### 运行测试

```sh
npm test
```

## 常见问题

### @advanced-rest-client/events-target-mixin 是什么？

混合该支持事件的目标重定向, 因此元素在设定的节点而不是默认的节点上聆听

### 如何安装 @advanced-rest-client/events-target-mixin？

在项目目录运行 npm install @advanced-rest-client/events-target-mixin，或使用 pnpm add / yarn add / bun add。

### @advanced-rest-client/events-target-mixin 支持 TypeScript 吗？

该包的 package\.json 没有声明类型入口。需要类型提示时，可以在 npm 上查找社区维护的 @types/advanced-rest-client\_\_events-target-mixin 是否存在。

### @advanced-rest-client/events-target-mixin 支持 ESM 还是 CommonJS？

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

### @advanced-rest-client/events-target-mixin 可以商用吗？

@advanced-rest-client/events-target-mixin 使用 Apache-2\.0 许可。宽松许可：允许商业使用、修改和再分发，并附带明确的专利授权；分发时需保留许可与 NOTICE 文件，修改过的文件要注明改动。以上为概括，不构成法律意见，请以许可原文为准。

### @advanced-rest-client/events-target-mixin 的下载量有多少？

根据 npm 官方下载统计，@advanced-rest-client/events-target-mixin 在 2026/10/05 – 2026/11/03 这 30 天内被下载 3,361 次，日均约 112 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入，适合横向比较热度，不能直接等同于使用人数。

### @advanced-rest-client/events-target-mixin 还在维护吗？

最新版本 3\.2\.6 发布于 2021/10/19（5 年前）；至今共发布 12 个版本，其中过去 12 个月发布了 0 个；首次发布于 2019/02/21。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

