API 事件绑定处理和事件对象 | 青训营

165 阅读2分钟

一、事件监听(绑定)

事件:在编程时系统发生的动作或者发生的事情

事件监听:让程序检测是否有事件产生,一旦有事件触发,就立即调用一个函数做出响应,也称为绑定事件或者注册事件(比如,鼠标经过显示下拉菜单)

1.1事件监听

语法:元素对象.addEventListener('事件类型', 要执行的函数)

事件监听的三要素:

  1. 事件源: 那个dom元素被事件触发了,要获取dom元素
  2. 事件类型: 用什么方法触发,比如鼠标单击click、鼠标经过mouseover等
  3. 事件调用的函数: 要做什么事
<button>按钮</button>
<script>
    const btn = document.querySelector('.btn')
    btn.addEventListener('click', function(){
        alert('点击了~')
    })
</script>

1.2事件监听版本

DOM L0

事件源.on事件 = function(){}

DOM L2

事件源.addEventListtener(事件, 事件处理函数)

区别:

on方式会覆盖, addEventListener方式可绑定多次, 拥有事件更多特性, 推荐使用

二、事件类型

鼠标事件 鼠标触发

click 鼠标点击

mouseenter 鼠标经过

mouseleave 鼠标离开

焦点事件 表单获得光标

focus 获得焦点

blur 失去焦点

键盘事件 键盘触发

Keydown 键盘按下触发

Keyup 键盘抬起触发

文本事件 表单输入

input 用户输入事件

三、事件对象

事件对象:对象,里面有事件触发时的相关信息

3.1获取事件对象

在事件绑定的回调函数的第一个参数就是事件对象,一般命名为event、ev、e

元素.addEventListener('click', function(e){
​
})

3.2事件对象常用属性

部分常用属性:

type: 获取当前的事件类型

clientX/ clientY: 获取光标相对于浏览器可见窗口左上角的位置

offsetX / offsetY:获取光标相对于当前DOM元素左上角的位置

key: 用户按下的键盘键的值;现在不提倡keyCode

四、环境对象(this)

环境对象: 指的是函数内部特殊的 变量this ,它代表着当前函数运行时所处的环境

作用: 弄清楚this的指向,可以让我们代码更简洁

  • 函数的调用方式不同,this指代的对象也不同
  • 【谁调用,this就是谁】 是判断this指向的粗略规则
  • 直接调用函数,其实相当于是 window.函数, 所以 this 指代 window

五、回调函数

如果将函数A做为参数传递给函数B,我们就称函数A为 回调函数