我想从body元素中也是div内部的div调度onKeyDown事件。
我正在使用React,并尝试在我的React组件的componentDidMount函数的body标签中添加onKeyDown事件侦听器。
componentDidMount() {
document.getElementById("main-content").onkeydown = event => {
document.getElementById("Keyboard").dispatchEvent(event);
}
}
我希望将keydown事件调度到Keyboard组件,但是我收到下面列出的错误。
InvalidStateError:试图使用一个不可用或不再可用的对象。
任何帮助将不胜感激!
答案 0 :(得分:0)
您不能将其硬编码到div元素上吗?
如果可以,请使用this question作为参考。
如果您无法进行编码,请尝试以下操作:
document.querySelector('#yourDiv').addEventListener('keydown', function (event) {
console.log(event.key) //Change this to whatever you want it to do
})
然后在HTML中为div提供tabindex="0"
属性。
tabindex属性:
tabindex =“ 0”允许将非表单/链接/对象元素以默认导航顺序放置,从而使任何元素都可聚焦并触发交互。
更多信息here