# @discourse/itsatrap 中文文档

规范地址：https://npmcn.com/package/%40discourse/itsatrap/

版本：2\.0\.10
npm 元数据更新时间：2026-05-07T19:17:47.445Z
中文译文更新时间：2026-11-12T11:11:49.221Z
软件包许可：Apache-2\.0 WITH LLVM-exception

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

原始 npm 页面：https://www.npmjs.com/package/%40discourse/itsatrap
原文对照：https://npmcn.com/package/%40discourse/itsatrap/?lang=original
项目主页：https://github.com/ccampbell/itsatrap#readme
源码仓库：https://github.com/ccampbell/itsatrap

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

- 包体积（解压后）：173 kB，8 个文件
- 模块格式：CommonJS
- TypeScript 类型：未声明
- 运行依赖：0 个
- 首次发布：2021-08-31T07:27:59.211Z
- 最新版本发布：2021-09-08T09:00:35.997Z
- 近 30 天下载量：143263（2026-10-13 至 2026-11-11，npm 官方下载统计）
- 已发布版本数：10（近 12 个月 0 个）

## 中文简介

用于处理键盘快捷键的简单库鼠标夹叉

## 安装

```sh
npm install @discourse/itsatrap
```

也可以使用：`pnpm add @discourse/itsatrap`、`yarn add @discourse/itsatrap`、`bun add @discourse/itsatrap`

## README

# 它的拉脱维亚

[![CDNJS](https://img.shields.io/cdnjs/v/itsatrap.svg)](https://cdnjs.com/libraries/itsatrap)

ISTATrap是处理Javascript中键盘快捷键的简单库.

它根据Apache 2.0许可证获得许可证.

就在周围 **2kb (韩语)** 精密的和克齐克 **4.5kb (中文(简体) )** 已修改,没有外部依赖性,并在下列浏览器中测试过:

-   互联网探索者 6+
-   萨法里
-   火花
-   颜色

它得到支持 `keypress`, (中文(简体) ), `keydown`,以及 `keyup` 特定键、键盘组合或键序列上的事件.

## 开始

1.  在关闭前在您的页面中插入其陷阱 `</body>` 标签
    
    ```html
    <script src="/path/to/itsatrap.min.js"></script>
    ```
    
    或安装 `itsatrap` 从 `npm` 和需要它,需要它
    
    ```js
    var ItsATrap = require('itsatrap');
    ```
    
2.  添加一些键盘事件以监听
    
    ```html
    <script>
        // single keys
        ItsATrap.bind('4', function() { console.log('4'); });
        ItsATrap.bind("?", function() { console.log('show shortcuts!'); });
        ItsATrap.bind('esc', function() { console.log('escape'); }, 'keyup');
    
        // combinations
        ItsATrap.bind('command+shift+k', function() { console.log('command shift k'); });
    
        // map multiple combinations to the same callback
        ItsATrap.bind(['command+k', 'ctrl+k'], function() {
            console.log('command k or control k');
    
            // return false to prevent default browser behavior
            // and stop event from bubbling
            return false;
        });
    
        // gmail style sequences
        ItsATrap.bind('g i', function() { console.log('go to inbox'); });
        ItsATrap.bind('* a', function() { console.log('select all'); });
    
        // konami code!
        ItsATrap.bind('up up down down left right left right b a enter', function() {
            console.log('konami code');
        });
    </script>
    ```
    

## 为什么是阿特拉普?

有很多类似的图书馆 是什么使这个不同?

-   没有外部依赖性,不需要框架
-   你并不限于 `keydown` 事件( 您可以指定 `keypress`, (中文(简体) ), `keydown`,或 `keyup` 或者让它为你选择.
-   您可以直接将关键事件绑定为特殊密钥, 如 `?` 或者说 `*` 无需具体说明 `shift+/` 或者说 `shift+8` 所有键盘上不一致的
-   它与国际键盘布局合作
-   您可以像密钥序列一样绑定 Gmail, 除了普通密钥和密钥组合
-   您可以按程序触发关键事件 `trigger()` 方法
-   它与键盘上的数字键盘相配合
-   守则有详细记录/评论

## 测试

单位测试与 [摩卡岛](https://mochajs.org/)。 。 。 .

### 在浏览器中运行

[在网上查看](http://rawgit.com/ccampbell/itsatrap/master/tests/itsatrap.html) 来检查您的浏览器兼容性。 您也可以下载重播并打开 `tests/itsatrap.html` 在您的浏览器中.

### 与节点运行

1.  安装开发依赖
    
    ```sh
    cd /path/to/repo
    npm install
    ```
    
2.  运行测试
    
    ```sh
    npm test
    ```
    

## 文档

完整的文档可在 [https://craig.is/ killing/mice (英语)](https://craig.is/killing/mice)

## 常见问题

### @discourse/itsatrap 是什么？

用于处理键盘快捷键的简单库鼠标夹叉

### 如何安装 @discourse/itsatrap？

在项目目录运行 npm install @discourse/itsatrap，或使用 pnpm add / yarn add / bun add。

### @discourse/itsatrap 支持 TypeScript 吗？

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

### @discourse/itsatrap 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### @discourse/itsatrap 可以商用吗？

@discourse/itsatrap 使用 Apache-2\.0 WITH LLVM-exception 许可。声明的许可为 Apache-2\.0 WITH LLVM-exception，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### @discourse/itsatrap 的下载量有多少？

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

### @discourse/itsatrap 还在维护吗？

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

