event.keyCode||event.which

转自:http://rogerfederer.iteye.com/blog/747007

// enter 事件
$('#Qcons_1 [name=Qcon]',_root).keypress(function(event){
alert(event.keyCode+"--"+event.which);
var code = event.keyCode||event.which;
if(code==13)
$('#sal_qt_search',_root).click();
});



var code=event.keyCode;
if(event.keyCode==32){code='\' 空格\''}
if(event.keyCode==13){code='\' 回车\''}
if(event.keyCode==27){code='\' Esc\''}
if(event.keyCode==16){code='\' Shift\''}
if(event.keyCode==17){code='\' Ctrl\''}
if(event.keyCode==18){code='\' Alt\''}

firefox2.0中不支持 window.event.keyCode,
但是我们可以用event.which代替。但是为了使其能更具有普遍的兼容性,最好用event.keyCode|| event.which.
自己测试了下 现在firefox3支持event.keyCode||event.which,自己用的IE7浏览器中event.which打印的值为undefined.
但在项目中使用jQuery后两者的值都可以显示出来。










event.which

Summary
Returns the numeric keyCode of the key pressed, or the character code (charCode) for an alphanumeric key pressed.

Syntax
var keyResult = event.which;

keyResult contains the numeric code for a particular key pressed, depending on whether an alphanumeric or non-alphanumeric key was pressed. Please see charCode and keyCode for more details.



Java代码   收藏代码
  1. <html>  
  2. <head>  
  3. <title>charCode/keyCode/which example</title>  
  4.   
  5. <script type="text/javascript">  
  6.   
  7. function showKeyPress(evt)  
  8. {  
  9. alert("onkeypress handler: \n"  
  10.       + "keyCode property: " + evt.keyCode + "\n"  
  11.       + "which property: " + evt.which + "\n"  
  12.       + "charCode property: " + evt.charCode + "\n"  
  13.       + "Character Key Pressed: "  
  14.       + String.fromCharCode(evt.charCode) + "\n"  
  15.      );  
  16. }  
  17.   
  18.   
  19. function keyDown(evt)  
  20. {  
  21. alert("onkeydown handler: \n"  
  22.       + "keyCode property: " + evt.keyCode + "\n"  
  23.       + "which property: " + evt.which + "\n"  
  24.      );  
  25. }  
  26.   
  27.   
  28. </script>  
  29. </head>  
  30.   
  31. <body  
  32.  οnkeypress="showKeyPress(event);"  
  33.  οnkeydοwn="keyDown(event);"  
  34. >  
  35.   
  36. <p>Please press any key.</p>  
  37.   
  38. </body>  
  39. </html>
event是事件对象,比如你按了某个键(或者单击等,反正能触发事件的),那你在处理时候可能会需要一些信息,比如说是哪个元素被触发的,这个元素也就是你所问的event.srcElement(事件的源对象),通过它可以得到事件的对象,如果你是按键事件如keyup,keydown,那么在event.keyCode会得到这个键的ascii码,如果是鼠标事件,可能还会有当前鼠标的坐标等等,总之,这个对象里面包含了事件发生时的各种数据。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值