gpt4 book ai didi

javascript - react - onKeyDown 事件

转载 作者:搜寻专家 更新时间:2023-10-31 08:40:06 27 4
gpt4 key购买 nike

我在 React 中创建自己的灯箱,但我在实现 keyDown 事件时遇到了问题。当我打开图像时,我想为图像使用 key a - 1 和为图像 + 1 使用 d key 。我只实现了 console.log(e.key) 检查是否一切正常。我发现了一个问题,即我的 KeyDown 事件仅在我将注意力集中在左侧或右侧按钮上时才有效。当我点击照片键时不起作用。

灯箱:

<div 
onKeyDown={this.nextButtonImage}
onClick={this.closeLightbox}
className="lightbox-container">
<div className="lightbox">
<button onClick={this.closeLightbox} className="lg-close">
<i className="fas fa-times" />
</button>
<button onClick={this.prevImage} className="lg-arrows lg-left">
<i className="fas fa-caret-left" />
</button>
<button onClick={this.nextImage} className="lg-arrows lg-right">
<i className="fas fa-caret-right" />
</button>
<img src={this.images[this.state.openImage].url} alt="" />
</div>
</div>

按键事件:

nextButtonImage = (e) => {
console.log(e.key);
}

最佳答案

这是正确的,因为事件 keydown 附加到一个元素。当您使用输入时,默认上下文会恢复有用。当您需要全局事件时(因为事件是自上而下传播的),您可以依赖窗口对象或文档对象:

componentDidMount(){
document.addEventListener('keydown', (event) => {
const keyName = event.key;
alert('keydown event\n\n' + 'key: ' + keyName);
});
}

componentWillUnmount(){
// Remove the listener before unmount
}

关于javascript - react - onKeyDown 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53065958/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com