如何使用Keycode触发键盘按键

时间:2017-05-22 09:35:10

标签: javascript

我有一个场景,我必须准备一个JS方法,其中Tab键应该触发。即当执行功能时,应触发Tab键按钮。最好使用密钥代码。

1 个答案:

答案 0 :(得分:0)

您可以调度键盘事件,但结果可能不会太大。

如下所示,您可以调度具有适当属性的事件,但在某些浏览器中,值为空,浏览器实际上忽略它。您可以选择按钮,然后按"输入"点击它。它会调度一个选项卡,但焦点不会移动,相关事件也不会报告构造函数中设置的值。

输入输入会显示您应该获得的结果类型。在很多浏览器中试用它。



function showEventProperties(evt) {
  document.getElementById('details').innerHTML = ['type','key','code','keyIdentifier','charCode','which','keyCode'].map(function(key) {
    return key + ': ' + evt[key]; 
  }).join('<br>');
}

function sendTab(node) {
  var evt = new KeyboardEvent('keypress', {
    'view': window,
    'bubbles': true,
    'key': 'Tab',
    'charCode': 9,
    'keyCode': 9,
    'which': 9
  });
  node.dispatchEvent(evt);
}

window.onload = function() {
  document.addEventListener('keypress',  showEventProperties, false);
}
&#13;
<input onkeypress="showEventProperties(event)">
<br>
<button onclick="sendTab(this)">Do tab</button><button>Next button</button>
<p id="details"></p>
&#13;
&#13;
&#13;

您还可以尝试较旧的initKeyEvent