覆盖浏览器的默认快捷键(Ctrl+anyKey)

Overriding the default shortcuts of the browser (Ctrl+anyKey)

本文关键字:Ctrl+anyKey 快捷键 默认 浏览器 覆盖      更新时间:2023-09-26

我试图覆盖我们在浏览器中使用的默认键快捷方式(例如Ctrl+1Ctrl+2分别转到Tab1和Tab2)。我必须使用JavaScript来做这个。有谁能帮帮我吗?

我尝试了下面的代码,当我使用alert()时工作良好,但没有alert()功能就不能完美工作。

代码:

<script language="javascript" type="text/javascript">
document.onkeydown = NavigateThrough;
function NavigateThrough (event)
{
    if (!document.getElementById) return;
    if (window.event) event = window.event;
    if (event.ctrlKey)
    {
        var link = null;
        switch (event.keyCode ? event.keyCode : event.which ? event.which : null)
        {
            case 0x31:
                //alert("hi 1 pressed");
                document.getElementById('txt').value = "Number : 1"; 
                break;
            case 0x32:
                //alert("hi 2 pressed");
                document.getElementById('txt').value = "Number : 2"
                break;
            case 0x33:
                //alert("hi 3 pressed");
                document.getElementById('txt').value = "Number : 3"
                break;
        }
    } 
}
</script>
<body >
<input type="text" id="txt">
</body>

尝试添加event.preventDefault()?因为CTRL + 1会重新加载页面并中断代码。

同样,对于跨平台浏览器,CTRL键也不一定足够。考虑使用jquery或event.metaKey

jQuery命令键代码