首页 > 解决方案 > 将键盘事件应用于输入元素

问题描述

我正在尝试在 contenteditable 中侦听键盘事件并将相同的事件应用于输入元素(或将 e.keyCode 应用于输入)。我试过这个。Element.dispatchEvent 只会触发事件侦听器,但似乎不会更改输入值。

但它不会更新输入值。我不想依赖手动修改 input.value 因为我需要考虑退格等问题。

contentEditableDiv.addEventListener('keydown', e => {
  inputElement.dispatchEvent(e);
});

我需要这个的原因:当用户输入热键时,我会显示一个上下文菜单,以便用户可以继续输入并且我可以过滤列表,我想将所有这些事件放入输入中,以便我可以使用输入值进行过滤通过我的清单。

标签: javascriptcontextmenukeyboard-events

解决方案


尝试这个

document.onkeypress = (e) => console.log(e)

在此处输入图像描述


推荐阅读