我想使用JavaScript来选择一个输入,当我用tab键关注一个按钮元素并按下“Enter”键时
这里的新开发人员正在尝试熟悉JavaScript/jQuery 我目前正在开发一个带有选项卡的页面,它可以根据选择的选项卡按钮来洗牌页面上的内容。这些选项卡基于以下代码: 求职者 雇用者 我已经从中获得了我所需要的所有功能,但突出的问题是我需要能够访问该功能。将tab index=0添加到按钮中很容易,这样就可以通过选项卡访问按钮,但问题是,输入是实际激活功能所需的tab索引和输入。我想这样做,我可以使用JS,这样当我专注于按钮并按下enter键时,相应的按钮被激活。我假设它将是使用按键功能的东西。我正在重新调整一些代码的用途,以便为我正在从事的另一个项目工作,但我想它看起来会像: var input=document.getElementByIdlist1 input.addEventListenerkeydown,functionevent{ 如果event.key=='Enter'{ //触发输入的单击 document.getElementByIdtab1.click; } };我想使用JavaScript来选择一个输入,当我用tab键关注一个按钮元素并按下“Enter”键时,javascript,html,css,tabs,tabindex,Javascript,Html,Css,Tabs,Tabindex,这里的新开发人员正在尝试熟悉JavaScript/jQuery 我目前正在开发一个带有选项卡的页面,它可以根据选择的选项卡按钮来洗牌页面上的内容。这些选项卡基于以下代码: 求职者 雇用者 我已经从中获得了我所需要的所有功能,但突出的问题是我需要能够访问该功能。将tab index=0添加到按钮中很容易,这样就可以通过选项卡访问按钮,但问题是,输入是实际激活功能所需的tab索引和输入。我想这样做,我可以使用JS,这样当我专注于按钮并按下enter键时,相应的按钮被激活。我假设它将是使用按键功能的东
看起来这应该是一个相对简单的解决方案,但我得到了各种不同的错误。感谢您的指导 我无法在codepen示例中使用tabbing,因此很难测试解决方案。但你似乎走对了方向,我写下了:
var input = document.getElementsByTagName("input");
for (var i = 0; i < input.length; i++) {
input[i].addEventListener("keydown", function(event) {
if (event.key == 'Enter') {
// Trigger the click for the input
var clickEvent = new MouseEvent("click", {
"view": window,
"bubbles": true,
"cancelable": false
});
document.getElementById("tab" + i).dispatchEvent(clickEvent);
}
});
}
因此,我的主要问题是我向错误的HTML元素添加了ID。调整HTML后,下面的代码可以工作。接下来,我将研究如何正确设置循环,以便减少函数的大小 求职者 雇用者 document.addEventListener“DOMContentLoaded”函数{ const list1=document.getElementByIdslide1; const output1=document.querySelectortab1; const list2=document.getElementByIdslide2; const output2=document.querySelectortab2; 列表1.addEventListenerkeydown,functionevent{ 如果event.key=='Enter'{ //触发输入的单击 output1.click; } }; 列表2.addEventListenerkeydown,functionevent{ 如果event.key=='Enter'{ //触发输入的单击 output2.click; } }; };
啊,你的方法使我不必重复我的代码,代码片段将自动单击相应的输入。太好了!不幸的是,点击事件仍然没有发生。看起来我们需要以不同的方式触发编程点击-请参阅-更新我的回答Enter键的键代码是13-您尝试过吗?此外,您是否考虑过使用鼠标悬停功能-用户可能并不总是使用制表符。。。