javascript - 使用 javascript/jquery 将我的网页焦点转移到浏览器地址栏

标签 javascript jquery html keyboard-shortcuts accessibility

期望的行为:当 Tabkey 按下发生在网页中的特定 dom 元素上时,我希望我的光标焦点转到地址栏。 (我想通过 Javascript 实现。这里不希望使用任何浏览器扩展)

当您在网页中按下 Control + L 快捷键时,它会将您的注意力转移到地址栏。 但是当我尝试通过 javascript 触发它时,它不起作用。

<div id="1" tabindex="1"></div>
<div id="2" tabindex="1"></div>
<div id="3" tabindex="1"></div>
<script>
    var some = $('#1');
    some.on('keydown', function (e) {
        if (e.keyCode == 9 /* TabKey */) {
            var e = jQuery.Event("keydown");
            e.keyCode = 76 /* LKey */;
            e.ctrlKey = true;
            $('body').trigger(e);

        }
    });
</script>

最佳答案

每个浏览器(和操作系统)对此的处理方式不同,目前无法使用 javascript 突出显示地址栏。即使是这样,请记住人们可以不同地映射这些命令(如果它们还没有不同的话)。例如,在 Mac 上访问地址栏的命令是 Command + L,而不是 Ctrl + L

关于javascript - 使用 javascript/jquery 将我的网页焦点转移到浏览器地址栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45304774/

相关文章:

javascript - Promise 运行成功和失败回调

c# - 如何显示父DIV中的所有div

javascript - 如何关注必填字段或无效字段?

php - 在 Apple 设备上渲染带有标签的泰文字符会中断吗?

css - 悬停或单击时显示新内容

javascript - Uncaught Error : [$injector:cdep] Circular dependency found: $templateRequest <- $animate <- cfpLoadingBar <- $http <- $templateRequest <- $compile

javascript - jQuery 添加/删除文本框

javascript - 如何使用 React 在 setState 上更新和显示第一个非空值?

javascript - 在不同的浏览器中打开链接

javascript - Angular 值绑定(bind)发送到 ng-click 函数而不是值