Reactjs 如何检测组合键cmd+;进入

Reactjs 如何检测组合键cmd+;进入,reactjs,Reactjs,我想在文本区域内检测组合键cmd+enter时运行一个函数 它需要与react hook兼容 我需要一些关于如何做这件事的建议 useffect(()=>{ 常量侦听器=(事件)=>{ console.log('a',event.which) if(event.which==13&&event.which==91){ console.log('按了Enter键。运行您的函数') event.preventDefault() //callMyFunction(); } } document.add

我想在文本区域内检测组合键cmd+enter时运行一个函数

它需要与react hook兼容

我需要一些关于如何做这件事的建议

useffect(()=>{
常量侦听器=(事件)=>{
console.log('a',event.which)
if(event.which==13&&event.which==91){
console.log('按了Enter键。运行您的函数')
event.preventDefault()
//callMyFunction();
}
}
document.addEventListener('keydown',listener)
return()=>{
document.removeEventListener('keydown',listener)
}
}, [])
这是我的代码,它不会重新调整组合。

您可以利用它在Mac中收听
命令
按键

const{useffect}=React;
常量应用=()=>{
const onKeyDown=(e)=>{
if(e.metaKey&&e.which==13){
log(“命令+点击回车”);
}
}
useffect(()=>{
文件.getElementById(“测试”).addEventListener('keydown',onKeyDown);
return()=>{
document.getElementById(“测试”).removeEventListener('keydown',onKeyDown);
}
});
返回
}
render(,document.getElementById(“react”)


当您试图一次检测多个按键事件时,请查看以下答案:您的react hook部分看起来也不错。如何将事件附加到当前文本区域而不是文档?我已更新了答案。请检查一下。