如何在javascript中找到双击键,如ctrl + t ctrl + K.

时间:2012-03-06 05:45:05

标签: javascript

我想知道哪些键与 ctrl 键或任何键一起被按下。为此我写了这样的

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function onkeyPressEvent(e) {
            var keycode;
            var keyname;
            if(window.event) 
            {
                if(e.keyCode && e.ctrlKey)
                    alert("ctrl + key Pressed");
                    //keycode = e.keyCode;
            }
            //keyname = String.fromCharCode(keycode);

            //if(keyname.length!=0)
                //alert(keyname)
        }

    </script>
</head>
<body onkeypress="onkeyPressEvent(event)">
    <form id="form1">
    <div></div>
    </form>
</body>
</html>

但这不能正常运作。在IE中,如果我们点击 Ctrl + T ,它将打开新选项卡。如何在我们的编程中使用javascript禁用这些类型的捷径。我想要一个警告框,说明哪个键与 ctrl 一起被按下。

谢谢,

1 个答案:

答案 0 :(得分:1)

这是你的代码..

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title></title>
    <script type="text/javascript">
        function onkeyDownEvent(e) {
            var keycode;
            var keyName="";
            if(window.event) 
            {
                if(e.ctrlKey)
                    keyName = "Ctrl";
                else  if(e.altKey)
                    keyName ="Alt";
                else if(e.shiftKey)
                    keyName = "Shift";

                if((e.ctrlKey||e.altKey||e.shiftKey) && (e.keyCode<16 || e.keyCode>18))
                        alert(keyName +" + "+ String.fromCharCode(e.keyCode) );
            }
        }

    </script>
</head>
<body onkeydown="onkeyDownEvent(event)">
    <form id="form1">
    <div></div>
    </form>
</body>
</html>