这不是世界上第一个问题,但我爱理解。我需要通过按Del按钮来处理从画布中删除节点。 所以,我在做什么:
const canvasDiv = document.getElementById('main_diagram')
canvasDiv.childNodes[0].tabIndex = '1'
我将canvas元素的tabIndex设置为1(使所有元素都可聚焦的肮脏老技巧),而不仅仅是添加eventListener:
canvasDiv.addEventListener('keydown', (e) => {
console.log(e.keyCode)
}, false)
上面的代码不适用于“删除”按钮,但是,当我将监听器更改为键时,它确实起作用。
我没有找到任何解释说明为什么这两个事件的行为如此不同,以致于它们无法捕获相同的键。有人可以阐明吗?