javascript - 通过 IE 和 Edge 中的快捷键将焦点放在输入字段上

标签 javascript internet-explorer microsoft-edge

我想通过快捷键(例如alt+b)将焦点放在输入字段上。下面的代码在 Chrome 和 Firefox 中有效,但在 IE 和 Edge 中立即失去焦点。有什么技巧吗?

let $InputField = $('#InputField');

$(document).on('keydown', event => {
  
  // Alt +B
    if (event.altKey && event.keyCode === 66) {
      console.log('done');
      $InputField.focus();
    }
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="InputField" type="text"/>

( JSFiddle duplicate )

<小时/>

网络应用程序中的快捷方式(有点脱离顶部)

大多数带有 ctrl 的快捷键已被浏览器使用,并且无法被 JavaScript 覆盖。现在我发现带有 alt 的快捷方式也无法正常工作。快捷方式问题会一直是 Web 应用程序的弱点吗?

最佳答案

输入元素和标签有一个用于此目的的 accesskey 属性。一些击键,例如。 alt+s(聚焦于搜索框)用于辅助功能。

关于javascript - 通过 IE 和 Edge 中的快捷键将焦点放在输入字段上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49346063/

相关文章:

javascript - Jquery添加和删除子类

javascript - 在 IE javascript 中本地保存 Canvas

selenium - 如何通过Selenium进入Microsoft Edge上的沉浸式阅读器?

html - 在 Edge 和 IE 上打印时 HTML 上的不同元素顺序

css - Flexbox 在 IE10+ 和 Edge 中无法正常工作//div 之间的滚动条上出现奇怪的线条

javascript - 如何在 JavaScript 中设置文本区域值

javascript - 将脚本添加到 vue 模板内部

javascript - 具有反应的 Css 模块

javascript - 插入图像时 IE 的 execCommand 不起作用

internet-explorer - 扩展语法 Internet Explorer