首页 / 技术 / 正文

解决Firefox浏览器对JavaScript键盘事件不兼容

2016年03月16日 1 条评论 ... 技术

JavaScript的键盘事件的调用是比较简单的,但是,由于 Firefox 属于 Mozilla 内核浏览器,同样内核的浏览器还有 opera ,对于这种浏览器对 JavaScript 的键盘事件的理解跟其他浏览器是有偏差的,所以如果需要兼容对浏览器,只能对其进行特别处理。

*这里不讨论对低版本 IE 浏览器的兼容

IE 类浏览器和 chrome 及其衍生的国产浏览器对 JavaScript 获取键盘事件的处理非常简单,这里以 JavaScript 获取按键值为例。

IE、chrome 等浏览器获取敲击键盘值的方式为:

event.keyCode

是否在方法中传入 event 事件参数都无所谓

但是 Firefox 和 opera 浏览器获取敲击键盘值是有条件的

1.需要在方法中传入 event 事件参数

2.通过 event.which 语句获取到键盘索引值

所以,如果想要兼容两者,在一定要传入事件参数之外,加一个判断,代码如下:

  1. function getKey(e){  
  2.     var presskey = e.keyCode || e.which;  
  3.     alert(presskey);  

定义了一个叫做 presskey 的变量,然后通过或判断获取到键盘索引,然后弹出这个索引。

最后 G(F)O(U)O(C)D(K) Firefox!

1 条评论

Loading...
  1. themebetter

    技术文,必须赞一个。

    2016-03-19 [回复]

发布评论