js window.event对象解析
event代表事件的状态,例如触发event对象的元素、鼠标的位置及状态、按下的键等等。
event对象只在事件发生的过程中才有效。
1.altKey
描述:
检查alt键的状态。
语法:
event.altKey
可能的值:
当alt键按下时,值为 TRUE ,否则为 FALSE 。只读。
2.button
描述:
检查按下的鼠标键。
语法:
event.button
可能的值:
没按键
按左键
按右键
按左右键
按中间键
按左键和中间键
按右键和中间键
按所有的键
这个属性仅用于onmousedown, onmouseup, 和 onmousemove 事件。对其他事件,不管鼠标状态如何,都返回 0(比如onclick)。
下面的代码片断演示了当在图片上点击(onclick)时,如果同时shift键也被按下,就取消上层元素(body)上的事件onclick所引发的showSrc()函数。
<SCRIPT>
function checkCancel() {
if (window.event.shiftKey)
window.event.cancelBubble = true;
}
function showSrc() {
if (window.event.srcElement.tagName == "IMG")
alert(window.event.srcElement.src);
}
</SCRIPT>
<BODY onclick="showSrc()">
<IMG onclick="checkCancel()" src="/sample.gif">
3.ctrlKey
描述:
检查ctrl键的状态。
语法:
event.ctrlKey
可能的值:
当ctrl键按下时,值为 TRUE ,否则为 FALSE 。只读。
4.keyCode
描述:
检测键盘事件相对应的内码。
这个属性用于 onkeydown, onkeyup, 和 onkeypress 事件。
语法:
event.keyCode[ = keyCode]
可能的值:
这是个可读写的值,可以是任何一个Unicode键盘内码。如果没有引发键盘事件,则该值为 0 。
5.shiftKey
描述:
检查shift键的状态。
语法:
event.shiftKey
可能的值:
当shift键按下时,值为 TRUE ,否则为 FALSE 。只读。
鼠标键盘事件:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style type="text/css">
.message {
width: 500px;
height: 500px;
padding: 1px;
font-size: 12px;
background-color: #999999;
overflow: auto;
}
.txts {
width: 496px;
height: 100px;
background-color: #0095BB;
}
</style>
<script type="text/javascript">
window.onload= function(){
var msg = document.getElementById("message");
var txts = document.getElementById("txts");
var btn = document.getElementById("btn");
btn.onclick = txts.onkeydown = function(e){
var ev = e || window.event;
if(ev.type == "click" || (ev.type == "keydown" && ev.keyCode =="13" && ev.ctrlKey)){
var eleP = document.createElement("p");
eleP.innerHTML = txts.value;
msg.appendChild(eleP);
txts.value = "";
txts.focus();
}
}
}
</script>
</head>
<body>
<div id="message" class="message">
<h3>留言板</h3>
<hr/>
</div>
<form name="msgForm">
<textarea class="txts" name="txts" id="txts">
</textarea>
<input class="btn" id="btn" type="button" value="提交"/>
</form>
</body>
</html>