这段小代码就像Firefox和Opera的魅力一样。 Internet Explorer不喜欢它。
window.document.onkeydown = function (e) {
if (!e) {
e = event;
}
if (e.keyCode == 27) {
myfunction();
}
}
是不是可以在IE中检测ESC的keydown? 感谢
答案 0 :(得分:4)
你有哪个版本的IE? 这段代码适用于IE(9.01):
<!doctype html>
<html>
<head>
<title></title>
<script type="text/javascript">
window.document.onkeydown = function (e)
{
if (!e) e = event;
if (e.keyCode == 27)
alert("Hello!");
}
</script>
</head>
<body>
</body>
</html>
同时检查您的Doctype,您的IE可能会使用Quirks模式。
答案 1 :(得分:1)
有些浏览器使用e.keyCode,其他浏览器使用e.charCode。此外,这会因事件类型而异,某些浏览器(如FF)将使用一种类型的密钥,另一种类型使用另一种类型(例如字母与箭头键)
然而,在jsfiddle中测试它,看起来e.keyCode是IE9的正确检查。您正在测试哪个版本的IE?