4 事件对象
4.1 什么是事件对象
- 理解:事件发生后,跟事件相关的一系列信息数据的集合都放到这个对象里面,这个对象就是事件对象event,它有很多属性和方法。
4.2 事件对象的使用语法
- 这个event是一个事件对象,当中形参来看。
- 事件对象只有有了事件才会存在,它是系统帮我们设定为事件对象,不需要传递实参过去。
- 事件对象是我们事件的一系列相关数据的集合和事件有关,比如:鼠标点击就包含了鼠标的相关信息(鼠标坐标等);键盘事件就包含键盘事件信息(判断用户按下了哪个键等)
- 这个事件对象可以自己命名,比如event、e、evt
- 当我们注册事件时,event就会被系统自带创建,并依次传递给事件监听器(事件处理函数)。
传统的绑定事件写法中的事件对象
eventTarget.onclick = function(event){}//event就是事件对象,还喜欢写成e或者evt
事件监听注册事件中的事件对象
eventTarget.addEventListener('click',function(event){})//event就是事件对象,还喜欢写成e或者evt
4.3 事件对象的兼容性方案
事件对象本身的获取存在兼容性问题:
- 标准浏览器中是浏览器给方法传递的参数,只需要定义形参e就可以获取到
- 在ie678中,浏览器不会给方法传递参数,如果需要的话,需要window.event中获取查找
- 解决:
e = e||window.event