键盘绑定

如果您对任何默认键盘绑定不满意,可以使用 keyboard 配置选项进行覆盖。

Reveal.configure({
  keyboard: {
    27: () => { console.log('esc') }, // do something custom when ESC is pressed
    13: 'next', // go to the next slide when the ENTER key is pressed
    32: null // don't do anything when SPACE is pressed (i.e. disable a reveal.js default binding)
  }
});

键盘对象是键码及其相应的动作的映射。动作可以是三种不同类型中的任意一种。

类型动作
函数触发回调函数。
字符串reveal.js API 中调用给定的方法名称。
null禁用该键(阻止默认的 reveal.js 动作)

通过 JavaScript 添加键盘绑定

还可以使用 JavaScript 添加和删除自定义键盘绑定。自定义键盘绑定将覆盖默认键盘绑定,但反过来又会被 keyboard 配置选项中用户定义的绑定覆盖。

Reveal.addKeyBinding(binding, callback);
Reveal.removeKeyBinding(keyCode);

例如

// The binding parameter provides the following properties
//      keyCode: the keycode for binding to the callback
//          key: the key label to show in the help overlay
//  description: the description of the action to show in the help overlay
Reveal.addKeyBinding(
  { keyCode: 84, key: 'T', description: 'Start timer' },
  () => {
    // start timer
  }
);

// The binding parameter can also be a direct keycode without providing the help description
Reveal.addKeyBinding(82, () => {
  // reset timer
});

这允许插件直接向 Reveal 添加按键绑定,以便它们可以

  • 利用 Reveal 的按键处理预处理逻辑(例如,忽略暂停时的按键按下)
  • 包含在帮助叠加层中(可选)