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

浅析 JavaScript 中事件委托

; 以上就是侦听单个元素(尤其是按钮)事件方式。 如果需要监听多个按钮事件呢?...有没有更好方法? 幸运是,如果我们使用“事件委托”模式的话,侦听多个元素事件需要一个事件侦听器事件委托使用事件传播机制细节。想要要了解事件委托工作原理,应该先了解什么是事件传播。...3.事件委托 让我们用事件委托来捕获多个按钮点击: 。单击按钮时,父元素侦听器将会捕获冒泡事件(还记得前面所说事件传播?)。...现在,你可以看到事件委托模式好处:事件委托仅需要一个事件侦听器,而不必像本文最初那样将侦听器附加到每一个按钮

2.6K30

Vue 学习笔记 —— 常用特性 (二)

4.3 演示效果 五、侦听器 (watch) 5.1 侦听器基本使用 5.2 侦听器小实例,用户验证小 demo 六、过滤器(filters) 6.1 过滤器基本使用 6.2 全局过滤器 6.3 局部过滤器...textarea 多行文本 select 下拉多选 radio 单选框 checkbox 复选框 2.2 input 处理 我们点击 form 表单,默认需要点击 submit 按钮就会提交,然后...action 就会跳转到相对页面,但是我们要禁用 action 跳转,就得使用 js 来处理点击事件,后台调用 ajax 来请求后端数据。...但是在 vue 中,可以使用 v-model 来绑定我们存储数据,然后使用 @click 来解决点击事件 ...侦听器主要用来侦听属性 侦听器关键字是 watch,使用起来和 计算属性差不多 5.1 侦听器基本使用 接下来我们以一个用户姓 与 名 拼接小案例来演示侦听器使用

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

Vue v-on 事件修饰符

前言 一章节,讲解了v-on监听事件基本用法,那么本章节来介绍一下事件修饰符,主要用来解决「阻止冒泡」、「阻止默认事件」等等情况。...示例:.stop 阻止冒泡事件 编写一个按钮以及div,当按钮在div内,如果监听click事件,默认点击按钮时候也会出发divclick事件,这种情况就是「事件冒泡」。 示例代码如下: <!...} }) 在浏览器点击a标签,则自动跳至百度页面,如下: 但是很多时候,其实是不需要a标签默认行为,这时候就需要阻止默认行为了...示例:.capture 添加事件侦听器时使用事件捕获模式 「事件捕获模式」其实是「冒泡事件相反事件传递模式,也就是「由外而内」事件触发模式。...,如下: 点击div,查看触发事件,如下: 示例:.once 事件只触发一次 多次点击btn按钮,查看触发事件,如下: 示例:事件修饰符串联使用,例如:@click.prevent.once,

68530

Vue v-on事件修饰符

示例:.stop 阻止冒泡事件 编写一个按钮以及div,当按钮在div内,如果监听click事件,默认点击按钮时候也会出发divclick事件,这种情况就是事件冒泡。 示例代码如下: <!...那么为了阻止冒泡事件,可以使用.stop事件修饰符,如下: ? 再次在浏览器点击按钮,查看触发事件如下: ? 可以看到divclick事件没有被触发,已经阻止事件冒泡了。...但是很多时候,其实是不需要a标签默认行为,这时候就需要阻止默认行为了,如下: ? ? 此时点击a标签则阻止了默认行为,只执行监听事件。...示例: .capture 添加事件侦听器时使用事件捕获模式 事件捕获模式其实是冒泡事件相反事件传递模式,也就是由外而内事件触发模式。 还是用刚才按钮和div冒泡示例,来看看: ?...在浏览器中,点击按钮,查看触发事件顺序,如下: ? 示例:.self 只当事件在该元素本身(比如不是子元素)触发时触发回调 ? 点击btn按钮,查看触发事件,如下: ?

98410

前端MVC Vue2学习总结(三)——模板语法、过滤器、计算属性、观察者、Class 与 Style 绑定

.capture - 添加事件侦听器时使用 capture 模式。 .self - 只当事件是从侦听器绑定元素本身触发时才触发回调。 ....注意当使用对象语法时,是不支持任何修饰器。 用在普通元素时,只能监听 原生 DOM 事件。用在自定义元素组件时,也可以监听子组件触发自定义事件。...-- 点击回调只会触发一次 --> 在子组件监听自定义事件 (当子组件触发“my-event”时将调用事件处理器....capture - 添加事件侦听器时使用 capture 模式。 .self - 只当事件是从侦听器绑定元素本身触发时才触发回调。 ....-- 点击回调只会触发一次 --> 1.3、过滤器 Vue.js 允许你自定义过滤器,可被用作一些常见文本格式化。

4.7K100

JS事件

事件 HTML中与javascript交互是通过事件驱动来实现,例如鼠标点击事件、页面的滚动事件onscroll等等,可以向文档或者文档中元素添加事件侦听器来预订事件。...想要知道这些事件是在什么时候进行调用,就需要了解一下“事件流”概念。 事件事件流描述就是从页面中接收事件顺序。...后来ECMAScript在DOM2中对事件流进行了进一步规范,基本就是上述二者结合。...(观察者模式) addEventListener() ---添加事件侦听器 removeEventListener() ---删除事件侦听器 函数均有3个参数, 第一个参数是要处理事件名 第二个参数是作为事件处理程序函数...动态监听: 使用事件委托可以自动绑定动态添加元素,即新增节点不需要主动添加也可以一样具有和其他元素一样事件

8.3K20

Vue2笔记

js 数据变化,会被自动渲染到页面上 页面上表单采集数据发生变化时候,会被 vue 自动获取到,并更新到 js 数据中 注意:数据驱动视图和双向数据绑定底层原理是 MVVM(Mode 数据源、View...事件绑定 v-on: 简写是 @ 语法格式为: methods: { add() { // 如果在方法中要修改 data 中数据...this 访问到 this.count += 1 } } 事件修饰符: .prevent 链接 .stop <button @click.stop...,实现元素显示和隐藏 如果刚进入页面的时候,某些元素默认不需要被展示,而且后期这个元素很可能也不需要被展示出来,此时 v-if 性能更好 在实际开发中,绝大多数情况,不用考虑性能问题,直接使用 v-if...缺点2:如果侦听是一个对象,如果对象中属性发生了变化,不会触发侦听器!!! 对象格式侦听器 好处1:可以通过 immediate 选项,让侦听器自动触发!!!

1.9K20

关于事件前端面试题总结

是否了解移动端点击穿透,原理及解决方法? 是否了解事件委托? 什么是事件循环? css3中有哪些属性可以直接影响JS事件?...移动端click事件会延迟300ms触发事件回调(只在部分手机浏览器出现)。 为什么会这样? 因为手机浏览器中需要处理如翻页这样复杂手势。...下面是我在网上找到点击穿透现象详细说明: 点击穿透现象有3种: 点击穿透问题:点击蒙层(mask)关闭按钮,蒙层消失后发现触发了按钮下面元素click事件。...(可以讲一下pointer-events和touch-action属性) css3中有两个属性是可以直接影响到JS事件,他们是pointer-events和touch-action。...需要注意是,如果当前元素pointer-events属性指定位none,但是当其后代元素pointer-events属性指定其他值时,鼠标事件可以指向后代元素,在这种情况下,鼠标事件将在捕获或冒泡阶段触发父元素事件侦听器

1.5K50

22 - 23 - 24 事件相关

例如,当用户点击一个按钮后,我们可能会显示一个带信息弹框,在这个例子中,事件click 处理结果就是展示一个弹框。 网页上会发生很多事件: 1. 用户 hover 一个元素 2....命名函数是可重用性首选,它使我们能够在以后删除事件侦听器。 使用命名函数 事件处理器可以是一个命名函数。...移出事件侦听器:使用 removeEventListener 来移出事件处理程序,为了移出它需要传递两个关键参数。第一个是实际类型,第二个是事件处理程序。... 上面的例子是:点击 p 标签内文本时,会触发 div onclick 事件。这就是 p 发生事件冒泡到了 div 。...如果用户点击元素事件处理程序带有stopPropagation() , document 点击事件处理程序(为了跟踪、分析或调用弹框)也不会被触发。所以谨慎阻止事件冒泡。

87820

急速 debug 实战一(浏览器-基础篇)

第 3 步:使用断点暂停代码 如果退一步思考应用运作方式,您可以根据经验推测出,使用与 Add Number 1 and Number 2 按钮关联 click 事件侦听器时计算和不正确 (5+1...因此,您可能需要click 侦听器运行时暂停代码。...DevTools 现在经过设置可以在任何 click 事件侦听器运行时自动暂停。 返回至演示页面,再次点击 Add Number 1 and Number 2。...事件侦听器 在触发 click事件后运行代码中。 异常 在引发已捕获或未捕获异常代码行中。 函数 任何时候调用特定函数时。 代码行断点 在知道需要调查的确切代码区域时,可以使用代码行断点。...事件侦听器断点 如果想要暂停触发事件后运行事件侦听器代码,可以使用事件侦听器断点。 您可以选择 click 等特定事件或所有鼠标事件事件类别。 点击 Sources 标签。

3.3K10

JavaScript小技能:事件

(Node.js 事件模型、浏览器插件WebExtensions技术事件模型) 1.3 事件冒泡及捕获 当一个事件发生在具有父元素元素时,浏览器运行两个不同阶段 - 捕获阶段和冒泡阶段。...然后,它移动到中单击元素下一个祖先元素,并执行相同操作,依此类推,直到到达实际点击元素。...事件委托: 如果你想要在大量子元素中单击任何一个都可以运行一段代码,您可以将事件监听器设置在其父节点,并让子节点发生事件冒泡到父节点,而不是每个子节点单独设置事件监听器。...,这些属性包含它们需要运行额外数据。...JavaScript事件以属性形式onclick、onmouseover关联事件侦听器代码 事件监听属性 描述 onmouseover 鼠标移入事件 onmouseout 鼠标移出事件 onclick

1.4K10

vue核心知识点

vue.js两个核心是什么 数据驱动也叫双向数据绑定 Vue.数据观测管理在技术实现,利用是ES5Object.defineProperty和存储器属性:getter和setter,可称为基于依赖收集观测机制...事件,比如点击事件和绑定事件监听器 v-modle:实现表单传输和应用状态之间双向绑定 v-pre:跳过这个元素和它子元素编译过程,可以用来显示Mustache标签,跳过大量没有指令节点会加快编译...() 阻止事件默认行为 .capture 添加事件侦听器使用capture模式 .self 当事件是从侦听器绑定元素本身触发时才触发回调 ....{keyCode | keyAlias} 只当事件从特定键触发时才触发回调 .native 监听组件根元素原生事件 .once 只触发一次回调 .left 只当点击鼠标左键触发 .right 只当点击鼠标右键触发... vue中子组件调用父组件方法 通过v-on监听和$emit触发来实现 在父组件中通过v-on监听当前实例自定义事件 在子组件中通过$emit触发当前实例自定义事件 // 父组件 <template

1.8K10

Vue有什么特性,相对于其他框架都有那些优势!

表单修饰符,number转化为数值,trim去掉开头和结尾空格,lazy将input事件切换change事件 自定义指令,为何有自定义指令,就是内置指令不满足需要。...方法不存在缓存机制。 比较耗时计算可以节省性能,同样结果没有比较计算两次,用了两次,只执行一次,缓存问题,计算属性计算结果缓存起来了,再次访问,就访问计算后结果。...,需要侦听器监听输入信息变化。...采用侦听器监听用户名变化,调用后台接口进行验证,根据验证结果调整提示信息,需要修改触发事件。...推荐阅读 点击标题可跳转 【面试Vue全家桶】vue前端交互模式-es7语法结构?

1.4K20
领券