目前网络上关于拦截快捷键的资料较老,这里其实可以用KeyboardEvent
。
通过event.key
可以快速获取到当前按下的键代表的意义,比如按下"s"键,event.key
的值即为"s",按下键盘上的ctrl或者command后,event.ctrlKey
或event.metaKey
会成true,这样可以识别出ctrl+s
或command+s
组合键。
// 按下ctrl+s或command+s时调用保存
const handleKeyDown = (event: React.KeyboardEvent) => {
if (event.key === "s" && (event.ctrlKey || event.metaKey)) {
// do some saving
// props.handleSave && props.handleSave(value);
event.preventDefault();
// remove test log when api called
console.log("should save code");
}
};