首页 > 其他分享 >JS事件

JS事件

时间:2022-12-30 02:34:03浏览次数:36  
标签:元素 JS EventTarget window 冒泡 event 事件

事件处理三种方案

  • 元素上
  • el.onclick
  • window.addEventListener(fn)

事件流

  • 事件冒泡:默认情况下事件是从最内层往外传递的顺序,这个顺序就称为事件冒泡
  • 事件捕获:从外层到内层,称为事件捕获。
  • 事件流都监听
    • 捕获阶段:1
    • 目标阶段:2
    • 冒泡阶段:3
/*
eventPhase 获取当前事件流阶段
el.addEventListener(function(){},true) true表示捕获,默认是冒泡
*/

事件对象event

  • 属性

    • type: 事件的类型

    • target: 当前事件发生的元素

    • currentTarget: 当前处理事件的元素

    • eventPhase : 事件所处的阶段

    • offsetX,offsetY: 事件发生在元素内的位置

    • clientX,clientY: 事件发生在客户端内的位置

    • pageX,pageY: 事件发生在客户端相对于document的位置

    • screenX,screenY: 事件发生相对于屏幕的位置

      /*
      event.target与event.currentTarget区别
      <div><span></span></div>
      div是当前处理的元素
      span是事件发生的元素,会通过冒泡传递
      */
      
  • 方法

    • event.preventDefault(): 阻止默认行为
    • event.stopPropagation: 阻止事件传递

事件中的this

this指向event.target。谁调用了事件,谁就是this

EventTarget类

  • 所有的节点和元素都继承自EventTarget

  • window也继承自EventTarget;

  • EventTarget是一个DOM接口,主要用于添加、删除、派发Event事件

  • 常见方法:

    • addEventListener

    • removeEventListener

    • dispatchEvent: 派发某个事件类型到EventTarget上

      window.dispatchEvent(new Event('coder'))
      window.addEventListener('coder',fn)
      

事件委托

鼠标事件

常见鼠标事件

标签:元素,JS,EventTarget,window,冒泡,event,事件
From: https://www.cnblogs.com/hyf120/p/17008851.html

相关文章

  • JS中回调函数的概念
    概要:Js中回调函数的概念...个人理解:回调函数的定义:将一个函数作为参数的形式传入另一个函数中,那么这个函数就是回调函数,另一个函数可以决定在何时何处调用这个传入的回......
  • JS数据在内存中的存储方式
    概要:Js数据类型在内存中的存储形式......Js数据类型:简单数据类型(基本数据类型):Number、String、Boolean、Undefined、Null复杂数据类型(引用数据类型):Object、Array、Fu......
  • JS中闭包的概念
    概要:Js中闭包的概念...个人理解:js中闭包的定义......
  • JS中的arguments和args
    概要:学习express中间件原理时候遇到的arguments对象和...args形参,从一脸懵逼到简单认识...引言:最近在学习express框架的中间件原理时候遇到了一系列问题,让我总算是明白了......
  • 关于JS中深拷贝和浅拷贝的思考
    概要:对Js数据的深拷贝和浅拷贝做一个总结,加深记忆Js数据类型由基本数据类型和引用数据类型组成,简单数据类型包括(Number、String、Boolean、Undefined、Null);引用数据类型......
  • 前端jsp界面一些固定模板
    <%@pagelanguage="java"contentType="text/html;charset=UTF-8"pageEncoding="UTF-8"%><%@tagliburi="http://java.sun.com/jsp/jstl/core"prefix="c"%><ht......
  • 4js高级
    目录第一章 61作用域 62作用域链 63闭包 64变量提升 65函数提升 74动态参数arguments 75剩余参数 75.1剩余参数和arguments的区别 76箭头函数 86.1语法: 86.2箭......
  • 2js基础
    目录1JavaScript是什么 42js三种编写位置 43js注释 44js输入输出语句 44.1输出的三种方式 44.2输入【弹框输入】 55字面量 56变量 56.1变量声明 66.2变量赋值 66......
  • JS笔记(二):数据类型
    镇楼图Pixiv:torino三、数据类型原始类型原始类型像是string、symbol、number之类的都只能存储原子值,而不能像对象一样随意扩展。但是为了提供额外功能,采取了轻量的......
  • js三级联动,看不懂的请去我上一篇js的一些认识里瞅瞅
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>HTMLDOM</title></head><body><!--三级联动演示:省:四川,吉林,陕......