Dom事件基础

事件监听

让程序检测是否有事件产生,一旦有事件触发,就立即调用一个函数做出响应,也称为 绑定事件或者注册事件

  1、语法:

  元素对象.addEventListener

  事件监听三要素

    事件源: 那个dom元素被事件触发了,要获取dom元素

    事件类型: 用什么方式触发,比如鼠标单击 click、鼠标经过 mouseover 等

    事件处理程序: 要做什么事

// 点击button  更改p里面的文字颜色
    // 事件源
    const button = document.querySelector('button')
    const p = document.querySelector('p')
    const int = document.querySelector('input')
    // 事件类型
    button.addEventListener('click',function(){
      p.style.fontSize = '50px'
      p.style.color = 'aqua'
    })

    注意:

      (1). 事件类型要加引号

      (2). 函数是点击之后再去执行,每次点击都会执行一次

  2、事件类型

    (1)鼠标触发

        click 鼠标点击

        mouseenter 鼠标经过

        mouseleave 鼠标离开

// 选中div
    const div = document.querySelector('div')
    // 添加鼠标移入效果
    div.addEventListener('mouseenter',function(){
      console.log('那可是我的挚爱亲朋,手足兄弟呀')
    }) 
    div.addEventListener('mouseleave',function(){
      console.log('公公误会了,得加钱!')
    })

    (2)焦点事件

        focus 获得焦点

        blur 失去焦点

 // 事件源  获取元素
    const tx = document.querySelector('#tx')
    const total = document.querySelector('.total')

    // 事件类型 
    // 获取焦点  opacity 1
    tx.addEventListener('focus',function(){
      total.style.opacity = 1
    })
    // 失去焦点 opacity 0
    tx.addEventListener('blur',function(){
      total.style.opacity = 0
    })

    (3)键盘事件

        Keydown 键盘按下触发

        Keyup 键盘抬起触发

// 获取元素
      const input = document.querySelector('input')
      // 注册键盘事件
      input.addEventListener('keydown',function(){
        console.log('当键盘按下的时候显示')
      })
      input.addEventListener('keyup',function(){
        console.log('当键盘抬起的时候显示')
      })
      input.addEventListener('input',function(){
        console.log('111')
        // 获取文本的内容
        console.log(input.value)
        // 获取文本的长度
        console.log(input.value.length)
      })

    (4)文本事件

        input 用户输入事件

  3、事件对象

    它也是个对象,其中事件触发时的相关信息

    例如:鼠标点击事件中,事件对象就存了鼠标点在哪个位置等信息

    元素对象.addEventListener('事件类型',function(e){})

    其中的  e  就是事件对象

    部分常用属性

        key                 用户按下的键盘键的值

        type                获取当前的事件类型

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

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

// 事件对象:事件发生时有一些数据是保存到一个对象里面的
    /* 在时间绑定的回调函数的第一个参数就是事件对象 */
    const button = document.querySelector('button')
    button.addEventListener('click',function(e){
      console.log(e)
    })

    const input = document.querySelector('input')
    input.addEventListener('keyup',function(e){
      console.log(e)
      console.log(e.key)
      // 如果用户按下了回车键,控制台输出“我按下了回车键”
      if(e.key === 'Enter'){
        console.log('我按下了回车键');
      }
    })

  4、环境对象

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

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

    谁调用, this 就是谁   是判断 this 指向的粗略规则

// 每个函数里面都有this 环境对象
    //  1 普通函数 里面this指向window
    function fn(){
      console.log(this)
      console.log(123456)
    }
    fn()

    // 2 事件从处理函数  this指向   this指向事件源
    const  button = document.querySelector('button')
    
    button.addEventListener('click',function(){
      console.log(this)
      button.style.color = 'red'
      this.style.color = 'red'
    })
    // this指向   谁调用我,我就指向谁

  5、回调函数

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

    回调函数本质还是函数,只不过把它当成参数使用

    使用匿名函数做为回调函数比较常见

function fn() {
    console.log('我是回调函数...');
  }
  // 调用定时器
  setInterval(fn, 1000);
fn 函数做为参数传给了 setInterval ,这便是回调函数的实际应用了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值