Skip to content
On this page

Mousetrap

简介

Mousetrap 是一个简单且轻量级的 JavaScript 库,用于处理键盘快捷键。它体积小(约 2KB gzip 压缩后),无外部依赖,支持多种浏览器(包括 IE6+、Safari、Firefox、Chrome)。

特点

  • mod 键:支持 Windows 和 Mac 两种操作系统的快捷键绑定。(mod 键代表 Windows 的 Ctrl 键,Mac 的 键)

安装

bash
npm install mousetrap --save

使用

  • 绑定快捷键
javascript
import Mousetrap from 'mousetrap';

// 绑定 Windows 快捷键
Mousetrap.bind('ctrl+s', function(e) {
  e.preventDefault(); // 阻止默认事件
  console.log('ctrl+s 被触发');
});

// 绑定 Mac 快捷键
Mousetrap.bind('command+s', function() {
  console.log('command+s 被触发');
});

// 同时支持 Windows 和 Mac
Mousetrap.bind('mod+s', function() {
  console.log('mod+s 被触发');
});

// 绑定组合键
Mousetrap.bind('ctrl+shift+s', function() {
  console.log('ctrl+shift+s 被触发');
});
  • 解绑快捷键
javascript
// 解绑单个快捷键
Mousetrap.unbind('mod+s');

// 解绑多个快捷键
Mousetrap.unbind(['ctrl+s', 'command+s']);
  • 定数字键和数字键盘
javascript
import Mousetrap from 'mousetrap';

// 绑定普通数字键
Mousetrap.bind('1', function() {
  console.log('普通数字键 1 被按下');
});

// 绑定数字键盘上的数字键
Mousetrap.bind('numpad1', function() {
  console.log('数字键盘上的 1 被按下');
});

// 绑定数字键盘上的特殊键
Mousetrap.bind('numpad+', function() {
  console.log('数字键盘上的加号键被按下');
});

// 解绑快捷键
Mousetrap.unbind('numpad1');

-触发键盘事件

javascript
import Mousetrap from 'mousetrap';
Mousetrap.trigger('ctrl+s');

要保持清醒 永远不抱有意外的幻想 凭空的期待最要命