术语 · 前端

事件

Event

用户操作或浏览器变化发出的信号,代码监听它来做出反应。

一次点击,从信号到反应

监听登记表

click更新计数

input校验格式

先登记,才有人接
有人听,点击才有下文
浏览器把每个动作广播成事件,监听了它的代码就会被叫起来执行。

换个角度想

事件像门铃:客人按铃是触发,铃声响遍屋子是广播,只有守在门口的人(监听器)会去开门。没装铃,敲破手门里也没人知道。

点一下按钮,谁在听?

  1. click

    「按钮被点了一下」

  2. addEventListener('click')

    监听器
    先登记,才有人接——试试两种都选一遍
  3. 处理函数:count + 1

    只有登记过的,才会被叫起来

  4. count0

    点点看会发生什么

用户点击、输入或滚动

什么时候会遇到它

  1. 响应操作

    点击、输入、悬停、滚动,界面的每次反馈都始于事件。

  2. 实时校验

    输入框每敲一个字触发一次 input,格式边写边查。

  3. 排查失灵

    按钮点了没反应,先查监听器绑了没有、绑对了没有。

想一想

一个按钮点击后要同时更新计数并弹出提示。需要绑两个监听器吗?

看答案

不用。一次 click 一个监听器就够了,处理函数里既可以更新计数也可以弹提示——事件是信号,收到信号后做几件事由处理函数决定。

最容易踩的坑

监听器是登记出来的,不是天生就有的。动态新增的元素不会自动继承监听;忘了解绑的监听器还会攒在内存里拖慢页面。

⌘K搜索知识库

最近收录

正在载入知识索引…