在javascript中捕获ctrl z键组合

我试图捕获ctrl z键组合在javascript与此代码:

<html>
<head>
    <title>Untitled Document</title>
</head>
<body>

    <script type='text/javascript'>
        function KeyPress(e) {
            var evtobj = window.event? event : e


            //test1 if (evtobj.ctrlKey) alert("Ctrl");
            //test2 if (evtobj.keyCode == 122) alert("z");
            //test 1 & 2
            if (evtobj.keyCode == 122 && evtobj.ctrlKey) alert("Ctrl+z");
        }

        document.onkeypress = KeyPress;
    </script>

</body>
</html>

注释行“test1”生成警报,如果我按住ctrl键并按任何其他键。

注释行“test2”会在按下z键时生成警报。

将它们按照“测试1& 2”后面的行放在一起,按住ctrl键,然后按z键不会按预期产生警报。

代码有什么问题?

>使用onkeydown(或onkeyup),而不是onkeypress
>使用keyCode 90,而不是122

在线演示:http://jsfiddle.net/29sVC/

http://stackoverflow.com/questions/16006583/capturing-ctrlz-key-combination-in-javascript

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:在javascript中捕获ctrl z键组合