键盘绑定
如果您对任何默认键盘绑定不满意,可以使用 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 的按键处理预处理逻辑(例如,忽略暂停时的按键按下)
- 包含在帮助叠加层中(可选)