javascript:覆盖浏览器的默认快捷方式(Ctrl + anyKey)

时间:2013-03-22 10:20:12

标签: javascript javascript-events

我试图覆盖我们在浏览器中使用的默认密钥快捷方式(例如Ctrl + 1,Ctrl + 2分别转到Tab1和Tab2)。 我必须使用javascript.please来帮助我。

我尝试了下面的代码,当我使用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>

1 个答案:

答案 0 :(得分:1)

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

另外,ctrl键对于跨平台浏览器来说不一定足够。 考虑jquery或event.metaKey

jQuery key code for command key