IE和FF对keyCode的支持及charCode?

1.对键盘事件分类

keyCode对于 keypress 事件,返回的是被敲击键的UniCode编码.

okeyCode对于onkeydown,onkeyup事件,返回的是虑拟的键盘码

 

2.分浏览器来说(对于keypress事件,其他没差别)

FF中:event.keyCode

生成的字符的键,如A-Za-z0-9,则返回0;

而其他的键,则正常返回keyCode值

 

FF中:event.which(则正好相反)哈,郁闷的吧.....

还有一更郁闷的(把oEvent.keyCode的值赋给oEvent.charCode值存在,但本身则返回0)

eg:

event.charCode=(event.type==keypress)?event.keyCode:0;

 

 码1:" charCode:" + oEvent.charCode   //有返回值

 码2: " keyCode:" + oEvent.keyCode   //返回值为0

 

总结:event.which并不是所有的键都对FF友好,键盘翻页,用(event.keyCode==37)而不使用(eveht.which==37)

 

未完成例子:

eg:

  function keyEvent(event){
     var e=event||window.event;
 
  if(window.event){
       oDiv.innerHTML+=e.type + e.keyCode + "/n/r";
  }else{
     if(event.keypress){  //判断条件出错,因生成字符的键也存在keypress........
     oDiv.innerHTML+=e.type + e.which + "/n/r"; 
  }else{
  oDiv.innerHTML+=e.type + e.keyCode + "/n/r";
  }
  }
  }

注:FF生成字符,不成字符都存在keypress

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值