关于JavaScript键盘事件

在使用JavaScript做WEB键盘事件侦听捕获时,主要采用onkeypress、onkeydown、onkeyup三个事件进行出来。该三个事 件的执行顺序如下:onkeydown -> onkeypress ->onkeyup。在一般情况下,采用三种键盘事件均可对键盘输入进行有效的响应。当在实际使用中,会发现这几者有些不同的差别。
        onkeypress事件不能对系统功能键(例如:后退、删除等,其中对中文输入法不能有效响应)进行正常的响应,onkeydown和onkeyup均可以对系统功能键进行有效的拦截,但事件截获的位置不同,可以根据具体的情况选择不同的键盘事件。

        由于onkeypress不能对系统功能键进行捕获,导致window.event对象的keyCode属性和onkeydown,onkeyup键盘事 件中获取的keyCode属性不同,主要表现在onkeypress事件的keyCode对字母的大小写敏感,而onkeydown、onkeyup事件 不敏感;onkeypress事件的keyCode无法区分主键盘上的数字键和付键盘数字键的,而onkeydown、onkeyup的keyCode对 主付键盘的数字键敏感。
       关于键盘事件有下面的方法:
  • element(event) :返回触发事件的元素
  • isLeftClick(event) :判断是否按下的左键
  • pointerX(event) :事件触发时鼠标的横坐标,对于非鼠标事件,在ff中没有此信息,但在ie中有?
  • pointerY(event):事件触发时鼠标所在位置的纵坐标
  • stop(event):阻止事件向上传播和浏览器的默认处理方法
  • findElement(event, tagName) :找到触发事件的元素的所有祖先元素中的tagName为tagName的一个元素
  • observe(element, name, observer, useCapture):注册事件处理函数
  • stopObserving(element, name, observer, useCapture):撤销注册的事件
原文地址:https://www.cnblogs.com/lxy1023-/p/6535538.html