首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

js事件机制

什么是事件 在JavaScript中事件是指一个事件沿特定数据结构传播的一个过程。整个事件总共包含三个阶段(从dome2来说):1.事件捕获阶段、2.处于事件目标阶段、3.事件冒泡阶段。...下面我们来看一个图,只要是谈到事件都会看到的一个图: ?...从这个图里面我们可以清晰的看到整个事件的执行过程,首先是从window开始,一步步的从上向下执行,此过程就是事件捕获阶段,当到达了事件的位置以后则处于事件目标阶段,之后会在向上冒泡,进入事件的冒泡阶段...触碰完成以后再把手拿出来,正好是一个相反的过程,这就与我们的事件机制是一个道理。 事件绑定 下面来看一下下面这个示例代码: <!...2 currentTarget 返回其事件监听器触发该事件的元素。 2 eventPhase 返回事件传播的当前阶段。

1.5K20

js --- 事件

1.事件   事件发生时会在元素节点与根节点之间按照特定的顺序传播,路径所经过的所有节点都会收到该事件,这个传播过程即DOM事件。...2.两种事件模型   1.冒泡型事件事件的传播是从最特定的事件目标到最不特定的事件目标。即从DOM树的叶子到根   2.捕获型事件事件的传播是从最不特定的事件目标到最特定的事件目标。...即从DOM树的根到叶子 3.绑定事件的方法   1.普通浏览器 绑定事件:addEventListener(type,name,bool);     删除事件:removeEventListener...()   2.ie 低版本 绑定事件:attachEvent()     删除事件:detachEvent() 4.参数说明 type 事件类型 例如:click load   name...事件执行函数   bool true 为事件捕获 && false 为事件冒泡 5.阻止事件冒泡和 事件捕获 1.阻止事件冒泡 不 阻止默认行为     event.stopPropagation

7.6K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    JS事件

    事件 事件需要从事件讲起。 JavaScript 与 HTML 之间的交互是通过事件实现的。 “事件就是文档或者浏览器窗口中发生的一些特定的交互瞬间。...有意思的是,当时不同的开发团队对于事件提出了完全相反的概念,主要分为IE事件——冒泡,Netscape Communicator事件——捕获。 1....DOM事件 在 DOM 事件中,实际目标(div)在捕获阶段不会接收到事件,意味着在捕获阶段事件从 document 到 html 再到 body 就会停止。...输出结果 可是,当我们将子级的冒泡和捕获在js中位置调换后,输出的则是……子级先冒泡,再捕获!如下: ? 输出结果2 这是什么原因呢?? 下期——事件处理顺序,进一步揭晓。...点击下面链接 查看历史文章 git 基础操作 js处理微信分享配置 小程序生命周期

    5.8K10

    JS中DOM事件总结

    一、事件捕获 1.概念 事件捕获:从document到触发事件的那个节点,自上而下的去触发事件。...2.图解 事件捕获 二、事件冒泡 1.概念 事件冒泡:从触发事件的那个节点一直到document,是自下而上的去触发事件。...2.图解 事件冒泡 三、DOM事件 1.概念 DOM事件相当于将事件捕获与事件冒泡两者结合起来,事件触发的顺序是先进行事件捕获阶段 => 目标元素阶段 => 事件冒泡阶段。...2.图解 DOM事件 3.示例 绑定事件方法(addEventListener)的第三个参数是控制事件触发顺序的,默认为false,即事件冒泡;若为true,即事件捕获。 <!...1.用法 #当在事件执行过程中,需要阻止后续的事件的执行,可以使用以下语法 event.stopPropagation(); 2.示例 <!

    3.9K30

    JS事件循环机制(Event Loops)

    ** 事件循环,即 Event Loops。用于协调事件、用户交互、JavaScript 脚本、DOM 渲染、网络请求等等的执行顺序问题。...一个遵循 ECMAScript 标准的代理(浏览器或 JS 引擎)也必须遵循事件循环机制事件循环是由一个或以上的 **任务队列** 组成的。 3. **什么是任务队列?...由于 JavaScript 是 **单线程** 语言,所以在 JS 中所有的任务都需要排队执行,这些任务共同组成了 **任务队列** ,依次排队执行的过程,形成一个 **执行栈(Execution Context...to=https%3A%2F%2Fdeveloper.mozilla.org%2Fzh-CN%2Fdocs%2FWeb%2FAPI%2FWindow%2FsetImmediate)(Node.js 环境...测试题 看到这里,JavaScript 的事件循环机制差不多就解释完了,涉及到了同步任务、异步任务、宏任务和微任务以及它们之间的关系。

    1.5K10

    JS事件事件冒泡、阻止冒泡、事件捕获(一看就懂)

    事件冒泡 、阻止冒泡 和 事件捕获 之前先说说什么是事件,这样会更容易明白 一、事件事件 1、什么是事件 事件是可以被 JavaScript 侦测到的行为。...鼠标点击、鼠标移动、鼠标滚动、按下键盘,浏览器窗口大小的改变,网页加载完成,关闭网页等等都会发生事件。 2、什么是事件 事件,描述的是页面中接受事件的顺序。...一个完整的JS事件是从window开始,最后回到window的一个过程。 事件被分为三个阶段(1~ 5)捕获过程、(5~ 6)事件触发过程、(6~ 10)冒泡过程。...三、阻止冒泡 1、JS阻止事件冒泡 我们用 e.stopPropagation() 这个方法添加到某事件函数里的末尾,就可以做到阻止冒泡事件。...当事件触发时,事件对象会作为第一个参数传入函数。事件对象的类型取决于特定的事件。例如, “click” 事件属于 MouseEvent(鼠标事件) 对象。 useCapture 可选。

    13.8K64

    js事件循环机制和优先级

    浏览器的渲染进程是多线程,包括 GUI渲染线程 js引擎线程 事件触发线程 定时器触发线程 异步http请求线程 主执行栈和任务队列 所有的任务可以分为同步任务和异步任务,同步任务,顾名思义,就是立即执行的任务...,同步任务一般会直接进入到主线程中执行;而异步任务,就是异步执行的任务,比如ajax网络请求,setTimeout 定时函数等都属于异步任务,异步任务会通过任务队列( Event Queue )的机制来进行协调...宏任务 (macro)task(又称之为宏任务),可以理解是每次执行栈执行的代码就是一个宏任务(包括每次从事件队列中获取一个事件回调并放到执行栈中执行)。...microtask主要包含:Promise.then、MutaionObserver、process.nextTick(Node.js 环境) 它们的执行顺序如下: 在事件循环中,每进行一次循环操作称为...,立即执行当前微任务队列中的所有微任务(依次执行) 当前宏任务执行完毕,开始检查渲染,然后GUI线程接管渲染 渲染完毕后,JS线程继续接管,开始下一个宏任务(从事件队列中获取) 宏任务与微任务的优先级(

    1.4K20

    面试官:什么是js中的事件以及事件模型?

    一、事件 在了解什么是js中的事件之前,我们先了解一下什么是js事件。...二、事件 知道了什么是事件,那什么是事件呢? 我们先从字面意义上理解,事件我们已经知道了是什么,那呢?...我们看看百度对于的解释 那连着事件我们是不是就能将事件理解为从页面接收事件的顺序,这些事件连起来就形成了一个像液体一样的整体,这个整体中的事件又有着自己的执行顺序,这就是事件。...三、事件模型 在事件中又有着两个模型 事件捕获 事件冒泡 这里我们引用一张图,以便于理解事件模型 事件冒泡 当节点事件被触发时,会由内圈到外圈 div-->body-->html-->document...由外圈到内圈 document-->html-->body-->div 四、事件模型发展史 事件冒泡是由IE提出的,而事件捕获则是由Netscape(网景)提出的事件概念。

    2K10

    深入理解 Node.js 事件循环机制

    Node.js事件循环是其核心机制,负责处理异步事件和回调函数。本文将带您深入理解 Node.js 事件循环的内部工作原理。事件循环的基本概念事件循环是 Node.js 实现异步非阻塞操作的关键。...事件循环的存在,使得 Node.js 能够在处理高并发和网络 I/O 密集型任务时,不会因为某个操作而阻塞整个程序的执行。...这种机制让 Node.js 成为了构建高性能网络应用程序的理想选择,尤其是在需要处理大量并发连接的场景,如 Web 服务器、实时通信系统等。...事件循环是怎么用作的Node.js 事件循环的工作流程可以分为以下几个阶段:Timers 阶段:处理 setTimeout 和 setInterval 定时器的回调函数。...了解了nodejs的循环机制,在开发就需要根据这个机制进行合理高效开发,需要注意一下几个原则避免长时间运行的计算任务:长时间运行的计算任务会阻塞事件循环,导致其他任务无法及时执行。

    24430

    事件机制

    浏览器事件机制 DOM事件模型分为捕获和冒泡。一个事件发生后,会在子元素和父元素之间传播(propagation)。...是布尔值useCapture参数的情况下,默认值为false,表示注册事件是冒泡事件,为true时表示注册事件是捕获事件。...事件代理的处理方式有以下优点: 节省内存 不需要给子节点注销事件 React中的事件机制 React中的事件机制与原生的完全不同,时间没有绑定在原生DOM上,发出的事件也是对原生事件的包装。...React内部事件系统可以分为两个阶段:事件注册和事件触发。...React事件机制的优点: 减少内存消耗,提升性能,一种事件类型只在document上注册一次 统一规范,解决ie事件兼容问题,简化事件逻辑 对开发者友好

    80111

    传递事件

    处理领域中的等价物是啥呢? 当输入是一个文件(一个字节序列),第一个处理步骤通常是将其解析为一系列记录。...在处理的上下文中,记录通常被叫做事件(event) ,本质是一样的:一个小的、自包含的、不可变的对象,包含某时间点发生的某事的细节。一个事件通常包含一个来自日历时钟的时间戳,以指明事件发生的时间。...处理中,一个事件: 由producer(也称publisher、sender)生成一次 可能由多个consumer( subscribers、recipients)处理。...文件系统中,文件名标识一组相关记录;流式系统中,相关的事件通常被聚合为一个主题(topic)或(stream)。...数据库在传统上对这种通知机制支持的并不好,关系型数据库有触发器(trigger),可对变化(如插入表中的一行)反应,但功能有限,且在数据库设计中有些后顾之忧。已开发了专门的工具来提供事件通知。

    55330

    JavaScript事件

    ---- theme: channing-cyan 这是我参与8月更文挑战的第25天,活动详情查看:8月更文挑战 理解事件 事件就是页面接收事件的顺序,一般有俩种事件事件冒泡和事件捕获,其实它就是发生事件的各种顺序...DOCTYPE html> 事件 <body...事件 DOM规范规定了事件分为三个阶段:事件捕获 => 达到目标元素 => 事件冒泡 ,其中事件捕获是最先发生的,最晚发生的是事件冒泡,如果我们要做一些点击或者其他操作来响应事件,就必须要在事件冒泡前进行相应...查了一下,DOM2 Events规范明确捕获阶段不会命中事件目标,但是在浏览器中都会在捕获阶段上给目标触发事件,所以我们在操作点击或者其他事件的时候是有俩个机会来操作。...注意 IE8及以前的版本不支持DOM事件

    32230

    Js事件循环(Event Loop)机制以及实例讲解

    前言 大家都知道js是单线程的脚本语言,在同一时间,只能做同一件事,为了协调事件、用户交互、脚本、UI渲染和网络处理等行为,防止主线程阻塞,Event Loop方案应运而生… 公众号里面的文章不能添加外部链接...个人博客了解一下:obkoro1.com ---- 为什么js是单线程? js作为主要运行在浏览器的脚本语言,js主要用途之一是操作DOM。...') } a(); b(); c(); // 当a、b、c函数都执行完成之后,三个setTimeout才会依次执行 ---- js 异步执行的运行机制。...忍者秘籍 ---- 结语 类似上文的面试题还有很多,实则都大同小异,只要掌握了事件循环的机制,这些问题都会变得很简单。 文章如有不正确的地方欢迎各位路过的大佬鞭策!...以上2018.6.16 参考资料: 详解JavaScript中的Event Loop(事件循环)机制 JavaScript中的事件循环 Event Loop JavaScript 运行机制详解:再谈Event

    1.7K10

    浅谈JavaScript的事件事件

    事件描述的是从页面中接收事件的顺序。IE的事件流失事件冒泡,而Netspace的事件流失事件捕获。...事件冒泡   IE的事件事件冒泡,即事件开始时,由具体的元素(文档中嵌套层次最深的节点)接收,然后向上传播到不具体的节点。...如果以前面的例子,则事件发生的顺序为document、html、body和div。 DOM事件   事件包含三个阶段:事件捕获阶段、处于目标阶段和事件冒泡阶段。...在dom事件中,具体元素div在捕获阶段不会获取到事件,这意味着事件从document到html,到body就停止了。...下一个阶段处于目标阶段,于是事件在div上面发生,并在事件处理中被看成事件冒泡阶段的一部分。最后事件冒泡发生,并将事件回传到document。ie8以及更早的浏览器不支持Dom事件

    86280

    事件监听机制

    相信大家都学过Java中的GUI,不知道你们对GUI中的事件机制有没有产生过好奇心,当我们点击按钮时,就可以触发对应的点击事件,这一过程究竟是如何实现的呢?...本篇文章我们就来聊一聊Java中的事件监听机制。 在了解事件监听机制之前,我们先来学习一个设计模式——观察者模式,事件监听机制的原理就是它。...事件监听机制 了解观察者模式之后,我们进入本篇文章的重心,事件监听机制。...在该模型中,有三个非常重要的概念: 事件 事件事件监听器 其具体流程是:用户操作(比如点击)导致事件触发,前提是事件监听器已经被注册好了,事件触发后会生成事件对象,此时事件对象会作为参数传递给事件监听器...(this); } 事件回调方法就输出了当前对象,以上就是整个事件监听机制的流程。

    8.3K10
    领券