当前位置:编程学习 > JS >>

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

如何取得

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

 


IE下的处理
在IE中, window 对象里就有包含event. 看例子:
[html]
<!--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> 

<!--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的方式


[html]
<!--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> 

<!--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>

补充:web前端 , JavaScript ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,