Javascript 捕获';逃逸';按ReactJS中的键
我有一个具有以下结构的React应用程序:Javascript 捕获';逃逸';按ReactJS中的键,javascript,reactjs,events,dom-events,Javascript,Reactjs,Events,Dom Events,我有一个具有以下结构的React应用程序: <App> <Input/> <Lists> <List> . . <List/> </Lists> </App> . . 每个列表都有modify(修改)按钮,通过切换modify(布尔状态),该按钮可使列表在单击时显示一个输入字段,否则显示一些文本 我想要实现的是,单击escape键,用户应该能够在两者之间切换(输
<App>
<Input/>
<Lists>
<List>
.
.
<List/>
</Lists>
</App>
.
.
每个列表都有modify(修改)按钮,通过切换modify(布尔状态),该按钮可使列表在单击时显示一个输入字段,否则显示一些文本
我想要实现的是,单击escape键,用户应该能够在两者之间切换(输入字段和文本)
我所尝试的:
document.addEventListener
,但我无法访问事件处理程序(位于List类中),我无法将其添加到类本身中,因为它假定List.document
为属性
onKeyPress
合成事件
事件。key==='Escape'
)。我将事件记录在控制台中,但在Enter键正常工作时没有出现任何问题
感谢所有建议:)。逃生键不会触发
按键事件。您将需要侦听键下
事件
class App extends PureComponent {
// ...
componentDidMount() {
window.addEventListener('keydown', callback);
}
componentWillUnmount() {
window.removeEventListener('keydown', callback);
}
// ...
}
逃生键不触发按键
事件。您将需要侦听键下
事件
class App extends PureComponent {
// ...
componentDidMount() {
window.addEventListener('keydown', callback);
}
componentWillUnmount() {
window.removeEventListener('keydown', callback);
}
// ...
}
此外,您可以通过单击此问题页面上的搜索输入字段并按escapePossible duplicate of查看我想要的效果。此外,您可以通过单击此问题页面上的搜索输入字段并按escapePossible duplicate of the works查看我想要的效果,谢谢。另外,你能推荐一些对这种情况有帮助的材料吗?我查阅了React文档,没有找到。我不确定我是否理解你所说的“推荐任何对这种情况有帮助的材料”是什么意思。你能详细说明吗?就像任何可供参考的文件、指南、论文或书籍一样。作为一名学生,我没有与其他开发人员进行太多的互动,因此我的有用和高质量资源列表并不多。答案很老,但对于仍在寻找关于keypress
和keydown
之间差异的参考资料的人来说,keypress
事件显然是不推荐的。在这里和这里读。这很有效,谢谢。另外,你能推荐一些对这种情况有帮助的材料吗?我查阅了React文档,没有找到。我不确定我是否理解你所说的“推荐任何对这种情况有帮助的材料”是什么意思。你能详细说明吗?就像任何可供参考的文件、指南、论文或书籍一样。作为一名学生,我没有与其他开发人员进行太多的互动,因此我的有用和高质量资源列表并不多。答案很老,但对于仍在寻找关于keypress
和keydown
之间差异的参考资料的人来说,keypress
事件显然是不推荐的。阅读这里和这里。