直接在html里实现,代码正常运行
<body onkeydown = "alert(event.keyCode)"></body>通过js的dom对象绑定事件监听函数实现
window.onload = function(e) {
document.body.addEventListener('keydown', function(e){
alert(e.keyCode);
}, false);
}
这段代码却无法运行如果将第二段代码中的 document.body 换成 document也能运行请问这是什么原因?
<body onkeydown = "alert(event.keyCode)"></body>通过js的dom对象绑定事件监听函数实现
window.onload = function(e) {
document.body.addEventListener('keydown', function(e){
alert(e.keyCode);
}, false);
}
这段代码却无法运行如果将第二段代码中的 document.body 换成 document也能运行请问这是什么原因?
IE:
document.body.attachEvent("onkeydown",function(e){alert(e.keyCode);});
http://www.w3school.com.cn/htmldom/event_onkeydown.asp
按照上面网页的内容,好像是不一样的。但我验证了一下,它所说的也不全对。
document.body.addEventListener('keydown', function(e){
alert(e.keyCode);
}, false);
如果页面上有元素,在任何元素获得焦点时,再按键可以触发keydown事件。
可能是document.body获得的范围是页面已有的元素吧。
在网上找到一个链接
http://www.webdeveloper.com/forum/showthread.php?t=177110
差不多是html跟body那样