1. 事件对象
什么是事件对象?
事件发生以后,会产生一个事件对象,作为参数传给监听函数。浏览器原生提供一个Event对象。
每一个事件都会有一个对应的对象来描述这些信息,我们就把这个对象叫做 事件对象
。
例如:
触发的事件类型
触发一个点击事件的时候,点在哪个位置了,坐标是多少
触发一个键盘事件的时候,按的是哪个按钮
2. 获取事件对象
2.1 直接使用event获取
DOM事件处理函数中可以使用 event
来获取事件对象,例如:
document.body.onclick = function(){
console.log(event); // 鼠标事件对象
}
<span onclick="console.log(event)">hello world</span>
上述两种方式都可以在控制台输出事件对象,里面包含了表示事件相关内容的键值对。
2.2 在事件处理函数中使用浏览器赋予的形参 e
document.body.onclick = function(e){
// 如果需要兼容IE低版本
e = e || window.event;
console.log(e); // 鼠标事件对象
}
需要注意的是,行内绑定的事件处理函数并没有这个形参,因为行内绑定的写法是函数调用,JS中声明函数接受的值为调用传入的值,而非浏览器传递的值。
<span onclick="clickHandle()">这里是函数调用,相当于自己传值</span>
<span onclick="clickHandle(123)">传入123</span>
<script>
function clickHandle(e){
console.log(e); // undefined 123
}
</script>
文档更新时间: 2023-04-19 19:37 作者:孙老师