事件对象

941 字
5 分钟
事件对象

事件对象#

  • 当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数,在事件对象中封装了当前事件相关的一切信息,比如:鼠标的坐标,键盘哪个按键被按下,鼠标滚轮滚动的方向…

  • 注:

    • 一般都会把形参写在事件对象的形参里,虽然不写也不会报错,但是获取方式会相对麻烦

    • 在IE8中,响应函数被触发时,浏览器不会传递事件对象。在IE8及以下的浏览器中,是将事件对象作为window对象的属性保存的 //写实参调用event function eventTest(event){ event = event || window.event; }

      //不写实参调用event
      function eventTest(){
      var event = window.event || arguments[0];
      }
      //传入额外实参
      function eventTest(a,b){
      var event = window.event || arguments.callee.caller.arguments[0];
      }
      //如果传入了参数却如第二种写法的话,则arguments中将会传入已经传入的参数,
      //这时获取的arguments[0]就会是第一个传入的参数

基本事件对象#

  • 静态变量
静态变量描述
CAPTURING-PHASE当前事件阶段为捕获阶段(1)
AT-TARGET当前事件是目标阶段,在评估目标事件(1)
BUBBLING-PHASE当前的事件为冒泡阶段 (3)
  • 属性
属性描述
bubbles返回布尔值,指示事件是否是起泡事件类型
cancelable返回布尔值,指示事件是否可拥可取消的默认动作
currentTarget返回其事件监听器触发该事件的元素
eventPhase返回事件传播的当前阶段
target返回触发此事件的元素(事件的目标节点)不兼容低版本IE,低版本IE用srcElement
timeStamp返回事件生成的日期和时间
type返回当前 Event 对象表示的事件的名称
  • 方法
方法描述
initEvent()初始化新创建的 Event 对象的属性
preventDefault()通知浏览器不要执行与事件关联的默认动作
stopPropagation()不再派发事件

目标事件对象#

方法描述
addEventListener()允许在目标事件中注册监听事件(IE8 = attachEvent())
dispatchEvent()允许发送事件到监听器上 (IE8 = fireEvent())
removeEventListener()运行一次注册在事件目标上的监听事件(IE8 = detachEvent())

事件监听对象#

方法描述
handleEvent()把任意对象注册为事件处理程序

文档事件对象#

方法描述
createEvent()返回新创建的event对象

鼠标/键盘事件对象#

  • 属性
属性描述
altKey返回当事件被触发时,“ALT” 是否被按下
button返回当事件被触发时,哪个鼠标按钮被点击
clientX返回当事件被触发时,鼠标指针的水平坐标
clientY返回当事件被触发时,鼠标指针的垂直坐标
ctrlKey返回当事件被触发时,“CTRL” 键是否被按下
Location返回按键在设备上的位置
charCode返回onkeypress事件触发键值的字母代码
key在按下按键时返回按键的标识符
keyCode返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码
which返回onkeypress事件触发的键的值的字符代码,或者 onkeydown 或 onkeyup 事件的键的代码
metaKey返回当事件被触发时,“meta” 键是否被按下
relatedTarget返回与事件的目标节点相关的节点
screenX返回当某个事件被触发时,鼠标指针的水平坐标
screenY返回当某个事件被触发时,鼠标指针的垂直坐标
shiftKey返回当事件被触发时,“SHIFT” 键是否被按下
  • 方法
方法描述
initMouseEvent()初始化鼠标事件对象的值
initKeyboardEvent()初始化键盘事件对象的值

文章分享

如果这篇文章对你有帮助,欢迎分享给更多人!

事件对象
https://sukksa.github.io/posts/shi-jian-dui-xiang/
作者
Sukksa
发布于
2021-04-28
许可协议
CC BY-NC-SA 4.0
Profile Image of the Author
Sukksa
记录前端学习与日常
公告
博客刚刚上线,内容还在慢慢补齐。欢迎随便逛逛~
分类
标签
最新动态
站点统计
文章
69
分类
16
标签
17
总字数
178,517
运行时长
0 天
最后活动
0 天前
站点信息
构建平台
Cloudflare Pages
博客版本
Firefly v6.16.8
文章许可
CC BY-NC-SA 4.0
文章目录