0

ブラウザーで使用するデフォルトのキー ショートカットを上書きしようとしています (たとえば、Ctrl+1、Ctrl+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>
4

1 に答える 1

1

event.preventDefault() を追加してみてください。ctrl + 1 でページがリロードされ、コードが中断されるためです。

また、クロスプラットフォーム ブラウザでは ctrl キーだけでは必ずしも十分ではありません。jqueryまたはevent.metaKeyを検討してください

コマンドキーのjQueryキーコード

于 2013-03-22T10:36:12.543 に答える