我有一个场景,我必须准备一个JS方法,其中应该触发Tab键。即,当功能被执行时,Tab按钮点击应该触发。优选地,使用密钥代码。
发布于 2017-05-22 18:42:25
您可以调度键盘事件,但结果可能不是那么压倒性的。
如下所示,您可以使用适当的属性来分派事件,但在某些浏览器中,这些值是空的,浏览器实际上会忽略它。您可以用tab键定位到该按钮,然后按"Enter“键单击它。它会调度一个选项卡,但是焦点不会移动,关联的事件也不会报告构造函数中设置的值。
在输入中键入会显示您应该得到的结果类型。在很多浏览器中尝试一下。
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);
}<input onkeypress="showEventProperties(event)">
<br>
<button onclick="sendTab(this)">Do tab</button><button>Next button</button>
<p id="details"></p>
您也可以尝试较旧的 initKeyEvent。
https://stackoverflow.com/questions/44109527
复制相似问题