您的位置:首页 > Web前端 > JavaScript

web 端JS取得window 的按键动作(按下Shift, Alt,Ctrl....)

2013-04-24 09:19 387 查看


如何取得

基本上都是从动作的event 中去判断。


IE下的处理

在IE中, window 对象里就有包含event. 看例子:

<!--Add by oscar999-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
function showWinEvent()
{
	if(window.event.altKey)
    {
	    alert("you pressed Alt Key");
	}else if(window.event.ctrlKey)
	{
	    alert("you pressed Ctrl Key");
	}else if(window.event.shiftKey)
	{
	    alert("you pressed Shift Key");
	}else{
		//alert(window.event.button)
	}
}
</script>
</HEAD>

<BODY>
<input onclick="showWinEvent()" type="button" value="click me">
</BODY>
</HTML>


以上在IE和Chrome 中都能work, 但是在firefox中却有问题, 会报undefined 的错误, 因为firefox 的window 对象不包含event.


兼容firefox的方式

<!--Add by oscar999-->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Author" CONTENT="oscar999">
<script>
function showWinEvent(evn)
{
	if(evn.altKey)
    {
	    alert("you pressed Alt Key");
	}else if(evn.ctrlKey)
	{
	    alert("you pressed Ctrl Key");
	}else if(evn.shiftKey)
	{
	    alert("you pressed Shift Key");
	}else{
		//alert(window.event.button)
	}
}
</script>
</HEAD>

<BODY>
<input onclick="showWinEvent(event)" type="button" value="click me">
</BODY>
</HTML>



解析与进阶

。。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: