网上有对照表,可直接搜,每个按键有对应的数值,
var ev = document.all ? window.event : e;
这个是用来区别ie 和其他浏览器的一个判断
在ie中,事件传播的时候,生成的事件对象会绑定到全局的window上
而在其他浏览器中,事件对象将会是一个局部变量,传到方法中
简单应用代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>IFE ECMAScript</title>
</head>
<body>
<!--这里例子是输入一个东西,点击按钮,在console输出输入的信息,点击enter键也在console输出输入的东西,点击esc键则清空输入值-->
<input id="name" type="text">
<button id="submit-btn">Submit</button>
<script>
document.getElementById("submit-btn").onclick = function() {
var n = document.getElementById("name");
console.log(n.value);
}
document.onkeydown = function(e) {
var ev = document.all ? window.event : e;
if (ev.keyCode == 13) {
var n = document.getElementById("name");
console.log(n.value);
}
if (ev.keyCode == 27) {
var n = document.getElementById("name");
n.value = "";
}
}
</script>
</body>
</html>