如何在 JavaScript 中模拟/触发 tab 键按下?

And*_*rew 5 javascript automation dom-events

我正在尝试tab在 JavaScript 中触发键的按下。

场景: 2 个 HTML 输入元素。最初的焦点是第一个输入,然后等待 3 秒,然后模拟按下 Tab 键,这应该将焦点设置为第二个输入。

问题:调度tab keydown事件什么都不做。

小提琴:

我在寻找 JavaScript 解决方案。没有 jQuery 谢谢。

使用下面的 simulant.js 的小提琴示例:

HTML:

<input id="first">
<input id="second">
<p>Dispatching Tab keydown event in 3 seconds... <span id="done" style="color:red"></span></p>
Run Code Online (Sandbox Code Playgroud)

JavaScript:

//simulates keydown of the tab key
function simulateTab() {
    var TAB_KEY = 9;    
    simulant.fire(document, 'keydown', { keyCode: TAB_KEY });
}

//focus 'first' input
document.getElementById('first').focus();

//focus 'second' input after 3 seconds
setTimeout(function(){
    simulateTab();
    document.getElementById('done').innerHTML = 'Done!';
}, 3000);
Run Code Online (Sandbox Code Playgroud)