webapis知识总结-dom事件

151 阅读2分钟

1. 事件监听

1.什么是事件?
事件是在编程时系统内发生的动作或者发生的事情
比如用户在网页上单击一个按钮

2.什么是事件监听?
用户在网页上的一些行为动作的监听 做出响应
比如鼠标经过显示下拉菜单,比如点击可以播放轮播图等等

2.事件监听的语法

语法:
1.元素对象:addEventListener('事件类型',要执行的函数)
2.事件源.on事件 = function() { }

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


事件监听三要素:
事件源:  那个dom元素被事件触发了,要获取dom元素   
事件类型: 用什么方式触发,比如鼠标单击 click、鼠标经过 mouseover 等
事件调用的函数: 要做什么事

3.事件类型

鼠标事件:
click   鼠标点击
mouseenter  鼠标经过
mouseleave  鼠标离开

焦点事件:
focus     获得焦点
blur       失去焦点

键盘事件:
Keydown  键盘按下触发
Keyup      键盘抬起触发

文本事件:
input   用户输入事件

例: 
box.addEventListener('mouseover', function () {
      box.style.backgroundColor = 'pink'
    })

4.事件对象

一 获取事件对象:
1.什么是事件对象?
也是个对象,这个对象里有事件触发时的相关信息
例如:鼠标点击事件中,事件对象就存了鼠标点在哪个位置等信息

2.事件对象在哪里?
在事件绑定的回调函数的第一个参数就是事件对象


使用场景:
可以判断用户按下哪个键,比如按下回车键可以发布新闻
可以判断鼠标点击了哪个元素,从而做相应的操作

2.语法:如何获取
元素对象:addEventListener('事件类型',function(e){})

二 事件对象部分常用属性

1. type  获取当前的事件类型
2. e.key 用户按下的键盘键的值
3. e.preventDefault() 阻止默认事件
4. e.stopPropagation()阻止事件流动
5. e.target  事件目标(触发本次冒泡的子元素)

例:
   document.addEventListener('click', function (e) {
      console.log(e.clientY, e.offsetY)
     })

    // 当用户按下 键盘时 获取到 用户按下的是哪一个按键
     document.addEventListener('keydown', function (e) {

      if (e.key === 'Enter') {
        console.log(1);
       }
     })

5.环境对象

什么是环境对象?
指的是函数内部特殊的变量 this ,它代表着当前函数运行时所处的环境
说人话:
不同环境中 this 所指代的对象 , 谁调用,this 就是谁

例:
 function fn() {
      console.log(this)
    }

    fn()

    const btn = document.querySelector('#btn')

    btn.addEventListener('click', fn)

6.回调函数

1.把函数当做另外一个函数的参数传递,这个函数就叫回调函数
2.回调函数本质还是函数,只不过把它当成参数使用
3.使用匿名函数做为回调函数比较常见

例:
function fn(callback) {
      callback()
    }

    fn(function () {
      console.log(1)
    })