键盘事件
一般绑定给可以获取焦点的对象,或则document.比如输入框,点里边获取焦点可以输入,点外边就失去焦点,盒子就无法获取焦点。
onkeydown 事件
onkeydown 事件会在用户按下一个键盘按键时发生。如果一直按着某个按键不松手,则事件一直触发。当onkeydown被一直触发时,第一二次事件会稍微长一点,往后就会非常迅速。这种设计是为了误操作。
提示和注释
浏览器差异:Internet Explorer 使用 event.keyCode 取回被按下的字符,而 Netscape/Firefox/Opera 使用 event.which。
//在文本框输入内容是onkeydown的默认行为
//如果return false就会取消onkeydown默认行为,输入内容,不显示在文本框
onKeyUp 事件
onmousedown 事件会在鼠标按键被按下时发生。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>键盘事件</title>
<script>
window.onload = function () {
var ipt1 = document.getElementById("ipt1");
ipt1.onkeydown = function (event) {
event = event || window.event;
//数字的keyCode是48-57,使文本框不可输入数字
//ie中使用keyCode其他浏览器(除了谷歌)中使用which
if ((event.keyCode ||event.which) >= 48 && (event.keyCode ||event.which) <= 57) {
//在文本框输入内容是onkeydown的默认行为
//如果return false就会取消onkeydown默认行为,输入内容,不显示在文本框
return false;
}
};
}
</script>
</head>
<body>
<label>
<input type="text" id="ipt1">
</label>
</body>
</html>
keyCode属性(ie)
对于 keypress 事件,该属性声明了被敲击的键生成的 Unicode 字符码。对于 keydown 和 keyup 事件,它指定了被敲击的键的虚拟键盘码。虚拟键盘码可能和使用的键盘的布局相关。
鼠标 / 键盘属性
属性 | 描述 |
---|---|
altKey | 返回当事件被触发时,“ALT” 是否被按下。 |
button | 返回当事件被触发时,哪个鼠标按钮被点击。 |
clientX | 返回当事件被触发时,鼠标指针的水平坐标。 |
clientY | 返回当事件被触发时,鼠标指针的垂直坐标。 |
ctrlKey | 返回当事件被触发时,“CTRL” 键是否被按下。 |
metaKey | 返回当事件被触发时,“meta” 键是否被按下。 |
relatedTarget | 返回与事件的目标节点相关的节点。 |
screenX | 返回当某个事件被触发时,鼠标指针的水平坐标。 |
screenY | 返回当某个事件被触发时,鼠标指针的垂直坐标。 |
shiftKey | 返回当事件被触发时,“SHIFT” 键是否被按下。 |
altKey/shiftKey/ctrlKey用来判断这三个按键是否被按下,还可以用来判断是否与其他组合键按下。
document.onkeydown = function (event) {
event = event || window.event;
if (event.keyCode===89&&event.ctrlKey){
console.log("ctrl和y被同时按下");
}
};
}