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

JS 和 Node.js 的“事件驱动”是什么意思?

浏览器事件目标是能够发出事件的对象:它们是观察者模式的主题。 有点混乱?请记住:主题是 FM 广播,所以任何 HTML 元素都像是广电台。 一会儿,你将看到谁是观察者。...在 Node.js ,没有任何 HTML 元素,因此大多数事件都来自进程、与网络的交互、文件等。...Node.js 的每个事件发送器都有一个名为 on 的方法,该方法至少需要两个参数: 要侦听的事件的名称 监听器函数 让我们举一个实际的例子。...了解 EventEmitter Node.js 的所有事件驱动模块都扩展了一个名为 EventEmitter 的根类。...在我们之前的例子,来自 net 模块的网络服务器就使用了 EventEmitter。 Node.js 的 EventEmitter 有两种基本方法:on 和 emit。

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

    JS篇(007)-事件委托是什么

    答案:利用事件冒泡的原理,让自己的所触发的事件,让他的父元素代替执行! 解析: 1、那什么样的事件可以用事件委托,什么样的事件不可以用呢?...- 适合用事件委托的事件:click,mousedown,mouseup,keydown,keyup,keypress。...- 值得注意的是,mouseover 和 mouseout 虽然也有事件冒泡,但是处理它们的时候需要特别的注意,因为需要经常计算它们的位置,处理起来不太容易。...3、事件冒泡与事件委托的对比 - 事件冒泡:box 内部无论是什么元素,点击后都会触发 box 的点击事件 - 事件委托:可以对 box 内部的元素进行筛选 4、事件委托怎么取索引?...:keydown keypress keyup - 鼠标事件:mousedown mouseup mousemove mouseout mouseover

    1.7K10

    js事件(event)

    当然我们也可以不给事件绑定处理方法,也就是说当此事件发生的时候,什么也不需要做,事件常有,而事件上绑定的方法不一定有, 我们给页面的元素的某个事件绑定处理方法的时候。...”事件“的对象赋给这个形参e,这时这个e是个系统级的对象:事件; IE事件对象是个全局的属性window.event,而标准浏览器的事件对象就是形参e; 所以事件对象的兼容性写法为:e = e||window.event...,相当于文档的鼠标的坐标; target事件源;事件源的概念:事件最终发生在页面的那个元素上; 事件源和事件的传播是息息相关的 事件的传播包括:冒泡和捕获;事件传播是浏览器在处理事件行为的机制,冒泡阶段或者捕获阶段...,如果想把这些默认行为取消了,相应的js代码如下: a.onclick = function(){return false}//方法里加个 return false,就是组织超链接点击时的跳转行为了;...在W3C的标准是在同一事件上,先绑定的方法先执行,并且不能重复绑定同一个方法在同一个事件上,但是IE6、7、8,如果绑定的方法少于9个,执行的顺序是相反的,超过9个,执行顺序就是混乱的,这些IE的问题都是比较严重的

    6.8K30

    JSpromise是什么

    Promise是异步编程的一解决方案,最早是由社区提出的,es6正式的将其纳入,他是一个对象,可以获取到异步的操作,他相比传统的回调函数,更加的强大和合理,避免了回调地狱。...所谓的Promise,简单的来说就是一个可以存放未来才能结束的任务或者事件。 1....Promise方法: 常用的方法有5:then()、catch()、all()、race()、finally()。...– 如果不设置回调函数去接受,promise内部会报错,不会映射到外部 – 处在pending(进行)时 ,外部无法得知进展到那一步 总结: Promise最早是由社区提出的,在es6才被正式的纳入规范...他有三个状态:pending(进行)、resolved(成功)、rejected(失败)。

    3.8K10

    java事件总线的应用场景是什么事件总线是什么

    事件总线模式就是一种能够传递信息接收信息的模式,在java也可以使用事件总线,那么java事件总线的应用场景是什么呢?下面为大家简单介绍java事件总线的应用场景是什么。...java事件总线的应用场景是什么 如果在使用Java的过程,发现有繁多的信息需要处理,且并不知道哪些信息是重要的话,就可以使用事件总线。...事件总线是什么 事件总线有一个比较熟悉的名字,那就是观察者模式,通过这种模式可以集中性的处理事件,并允许不同的组件之间彼此沟通信息,而又不会产生依赖性。...通过事件总线可以让代码变得更为简洁,还能够提升代码的质量。...上面为大家简单介绍了java事件总线的应用场景,由于事件总线设计模式具有其自身的优势性,所以不管是在Java还是在安卓开发,都有比较广泛的使用程度。

    60840

    JSDOM事件流总结

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

    3.9K30

    js移动端touch事件

    触摸事件是在移动设备(如智能手机或平板电脑)上查看页面时触发的事件。 它们允许您跟踪多点触摸事件。...我们有4个触摸事件: touchstart 触摸事件已经启动(触摸表面) touchend 一个触摸事件已经结束(表面不再被触摸) touchmove 触摸移动手指(或任何接触设备的东西)在表面移动 touchcancel...触摸事件已被取消 每当一个触摸事件发生,会触发一个触摸事件: const link = document.getElementById('my-link') link.addEventListener...clientX / clientY 无论是否滚动,鼠标指针相对于浏览器窗口的x和y坐标 screenX / screenY 屏幕坐标鼠标指针的x和y坐标 pageX / pageY 页面坐标(包括滚动...)鼠标指针的x和y坐标 目标被触及的元素

    8.9K20

    js事件

    的值类型:String,Number,Boolean,Null,Object,Function 8.JS的字符型转换成数值型:parseInt(),parseFloat() 9.JS的数字转换成字符型...:(""+变量)10.JS的取字符串长度是:(length) 11.JS的字符与字符相连接使用+号. 12.JS的比较操作符有:==等于,!...=不等于,>,>=,<.<= 13.JS声明变量使用:var来进行声明 14.JS的判断语句结构:if(condition){}else{} 15.JS的循环结构:for([initial expression...HTML: 51.当超链和ONCLICK事件都有时,则老版本的浏览器转向a.html,否则转向b.html.例:<a href="a.html" onclick......的多重继续. 73.JS的self指的是当前的窗口 74.JS状态栏显示内容:window.status="内容" 75.JS的top指的是框架集中最顶层的框架 76.JS关闭当前的窗口:

    10.8K110

    js动画事件_JavaScript事件

    js之动画事件 首先,动画事件主要包括以下三个animationstart,animationiteration和animationend事件,下面做简单分别介绍。...animationstart 该事件在css动画开始播放时触发 animationiteration 该事件在css动画重新播放时触发 animationend 该事件在css动画结束播放时触发 我们知道...animation:name duration timing-function delay iteration-count direction; 分别是:动画名称 动画持续事件 动画运行速度曲线 动画开始时的运行时间...this.innerHTML="动画正在运行"; x.style.background="pink"; } function myanimationiterration() //动画再次运行触发,同样也是通过事件监听...this.innerHTML="动画重新运行"; x.style.background="greenyellow"; } function myanimationend() //动画运行结束时触发,同样也是通过事件监听事件

    18.4K10

    Js 事件委托(事件代理)

    一、概述 事件委托,又叫事件代理。事件委托就是利用事件冒泡,只指定一个事件处理程序,就可以管理某一类型的所有事件。 例子:有三个同事预计会在周一收到快递。...这里其实还有2层意思: 第一,现在委托前台的同事是可以代为签收的,即程序的现有的dom节点是有事件的; 第二,新员工也是可以被前台MM代为签收的,即程序中新添加的dom节点也是有事件的。...在JavaScript,添加到页面上的事件处理程序数量将直接关系到页面的整体运行性能,因为需要不断的与dom节点进行交互,访问dom的次数越多,引起浏览器重绘与重排的次数也就越多,就会延长整个页面的交互就绪时间...,这就是为什么性能优化的主要思想之一就是减少DOM操作的原因;如果要用事件委托,就会将所有的操作放到js程序里面,与dom的操作就只需要交互一次,这样就能大大的减少与dom的交互次数,提高性能; 每个函数都是一个对象...三、事件委托原理 事件委托利用的是事件冒泡原理,将事件绑定到父级元素上,当点击子元素时,通过事件冒泡将事件传递到父级元素。  四、总结: 那什么样的事件可以用事件委托,什么样的事件不可以用呢?

    11.4K30

    vue.js实现阻止事件冒泡

    当父子元素中都有点击事件的时候,为了让触发子元素事件时,不去触发父元素事件,可以在子元素事件添加stop来阻止事件冒泡。....stop 是阻止冒泡行为,不让当前元素的事件继续往外触发,如阻止点击div内部事件,触发div事件 .prevent 是阻止事件本身行为,如阻止超链接的点击跳转,form表单的点击提交 .self 是只有是自己触发的自己才会执行...,如果接受到内部的冒泡事件传递信号触发,会忽略掉这个信号 .capture 是改变js默认的事件机制,默认是冒泡,capture功能是将冒泡改为倾听模式 .once 是将事件设置为只执行一次,如 .click.prevent.once...阻止click事件冒泡(防止触发另一个事件)的方法 使用vue阻止子级元素的click事件冒泡。...方法二 可以自己写个阻止冒泡事件 然后在发生冒泡的元素调用这个事件 @click="_stopPropagation($event)" methods:{ _stopPropagation

    6.5K10

    JS的touch事件与canvas绘图

    :手指从屏幕移开的时候触发 touchcancel:当系统停止跟踪触摸时触发(例如:创建了太多的触控点) 例如 this.canvas.addEventListener("touchstart", this...通过一个例子来区分一下触摸事件的这三个属性: 用一个手指接触屏幕,触发事件,此时这三个属性有相同的值。 用第二个手指接触屏幕,此时,touches有两个元素,每个手指触摸点为一个值。...Touch.target 当这个触点最开始被跟踪时(在 touchstart 事件), 触点位于的HTML元素....哪怕在触点移动过程, 触点的位置已经离开了这个元素的有效交互区域, 或者这个元素已经被从文档移除....因此, 如果有元素在触摸过程可能被移除, 最佳实践是将触摸事件的监听器绑定到这个元素本身, 防止元素被移除后, 无法再从它的上一级元素上侦测到从该元素冒泡的事件.

    7.5K41

    小程序开发事件系统是什么

    微信小程序官方文档解释说:事件是用于子组件向父组件传递数据,可以传递任意数据。 小程序开发事件是指视图层到逻辑层的通讯方式,主要是可以将用户的行为反馈到逻辑层进行处理。...事件可以绑定在组件上,当达到触发事件,就会执行逻辑层对应的事件处理函数,对象可以携带额外信息,如 id, dataset, touches。...事件分类 小程序开发事件分为冒泡事件和非冒泡事件: 1、冒泡事件 当一个组件上的事件被触发后,该事件会向父节点传递。...解析的算法在底层基础库 WAWebview.js 文件,我们现在此提前解析一下事件模块完整的流程,为了防止到后面底层基础库章节再讲的话,知识形成不了闭环。...(.+)$/)) 判断 attr 的属性名是否为事件属性。如果是事件属性的话执行E函数,并且转换为 exparser 组件系统的 attr 属性名称 exparser:info-attr- 。

    25830
    领券