Chrome,Firefox中网页某些元素JS的addEventListener事件中不支持keydown,keypress,keyup

经过测试,有些网页元素,比如div元素,给它Js的addEventListener注册mousemove,click事件,Chrome,Firefox可以正常输出,而注册键盘事件keypress,keydown,keyup就无法输出键码。IE中单击该元素后 敲键盘会输出键码。其实键盘事件keydown到底该不该注册给div?貌似不应该。于是感觉得注册给window或者document.经测试成功。附测试代码:

<html>
<head>
<style>
    #box{
        background:red;
        width:300px;
        height:400px;
    }
</style>
</head>
<body>
    
    <div id="box">dsdf</div>
    <script>
        var box = document.getElementById("box");
        <!-- box.addEventListener 在chrome,FireFox中无法输出键码-->
        <!-- document.addEventListener也可以输出-->
        window.addEventListener(
        "keydown",function(event){
            alert(event.keyCode);
        },true);
    </script>
</body>
</html>

 

Leave a Reply

电子邮件地址不会被公开。 必填项已用*标注

You may use these HTML tags and attributes:

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>