有没有一种方法可以在按下另一个键时使用JavaScript来模拟某个按键?

有没有一种方法可以在按下另一个键时使用JavaScript来模拟某个按键?,javascript,keyboard,event-handling,dom-events,keydown,Javascript,Keyboard,Event Handling,Dom Events,Keydown,例如按“a”键并键入“b”。似乎有很多类似于这个问题的老问题,但答案似乎不起作用。不知道是因为KeyboardEvent.initKeyEvent()被弃用,还是因为我的代码有缺陷,但我无法正确处理 下面是我尝试过的一些事情的一个例子: document.addEventListener("keydown", evt => { evt.target.dispatchEvent(new KeyboardEvent('keydown', {"keyCode&q

例如按“a”键并键入“b”。似乎有很多类似于这个问题的老问题,但答案似乎不起作用。不知道是因为
KeyboardEvent.initKeyEvent()
被弃用,还是因为我的代码有缺陷,但我无法正确处理

下面是我尝试过的一些事情的一个例子:

document.addEventListener("keydown", evt => {
  evt.target.dispatchEvent(new KeyboardEvent('keydown', {"keyCode": 9, "which": 9}))
})
新答案:

const数据=[
“苹果”,
“香蕉”,
“梨”,
“橙色”,
“柠檬”,
“石灰”,
“葡萄”,
“樱桃”,
“桃子”,
“李子”,
“葡萄柚”,
“西瓜”,
“猕猴桃”
]
让建议=[];
const container=document.getElementById(“数据”);
设指数=0;
功能手柄更改(e){
常量值=e.target.value;
container.innerHTML=“”;
指数=0;
建议=value?data.filter(ele=>ele.toLowerCase().includes(value)):[];
建议。forEach(ele=>{
const suggestion=document.createElement(“div”);
suggestion.textContent=ele;
容器。附加(建议);
})
}
功能handleKeydown(e){
if(e.keyCode==9&&suggestions.length){
e、 预防默认值();
e、 target.value=建议[索引];
index==suggestions.length-1?index=0:index+=1;
}否则如果(e.keyCode===13){
container.innerHTML=“”
指数=0;
建议=[];
}
}
A型水果

好的,但是如果我想在另一个键上设置一个“tab”键操作,我有一个带有
数据列表的
文本输入。用户开始键入=>将显示一个下拉列表,其中包含
数据列表中的fitting
选项。现在,要在输入中获得焦点时浏览选项,我不能使用
选项卡
shift
+
选项卡
:它将焦点从输入更改为下一个或上一个html流元素,我必须使用
向下箭头
向上箭头
键,这是不够合适的。因此,在某些条件下,我想将
选项卡的默认操作更改为
向下箭头
操作。我基本上希望输入/选项行为与浏览器地址搜索栏中的行为类似:您可以键入,您可以通过选项卡从下拉列表中选择,如果下拉列表中只剩下一个配件选项,你只要按回车键就可以自动完成了;这应该是可行的两种不同的方式,只是试图看看是否更容易的方式工作。我知道后会更新。谢谢你对此事的关注。如果有任何信息来源可以让我到达那里,我很乐意调查:)