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

深入理解JavaScript中的事件传播机制:事件冒泡和事件捕获

例如,当你单击一个按钮,事件会从按钮开始向外传播,直到它到达文档的最外层。在这个过程中,事件会经过按钮的元素、元素的元素,以此类推,直到它到达文档的最外层。这个过程可以用以下代码来演示:<!...这是因为事件从按钮开始向外传播,然后经过内部div和外部div,直到它到达文档的最外层。事件捕获事件捕获是指当一个事件被触发,它会从最外层的元素开始,然后逐级向内传播,直到最内层的元素。...例如,当你单击一个按钮,事件会从文档的最外层开始向内传播,直到它到达按钮。在这个过程中,事件会经过文档的元素、元素的元素,以此类推,直到它到达按钮。这个过程可以用以下代码来演示:<!...这意味着当你单击一个按钮,事件冒泡会先触发按钮的事件,然后是它的元素的事件,以此类推,直到它到达文档的最外层。相反,事件捕获会先触发文档的事件,然后是它的元素的事件,以此类推,直到它到达按钮。...我们还使用事件捕获方式注册了两个事件处理程序,一个用于内部div,另一个用于外部div。当你单击按钮,控制台将输出以下内容:Outer Div Clicked!Inner Div Clicked!

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

JQuery的学习

//1.通过js方式来获取名称叫做div的所有html元素对象 var divs = document.getElementsByTagName("div...aaa"; //JS --> JQuery : $(JS对象) // $(divs).html("fff"); } //2.通过JQuery方式来获取名称叫做...标签选择器(元素选择器) * 语法: $("html标签名") 获得所有匹配标签名称的元素 2. id选择器 * 语法: $("#id的属性值") 获得与指定id属性值匹配的元素...添加到对象1元素内部,并且在末尾 2.prepend():元素将子元素追加到开头 * 对象1.prepend(对象2):将对象2添加到对象1元素内部,并且在开头 3.appendTo():元素将子元素追加到末尾...* 对象1.appendTo(对象2):将对象1添加到对象2元素内部,并且在末尾 4.prependTo():元素将子元素追加到开头 * 对象1.prependTo(对象2):将对象

16.5K20

分享5个关于 Vue 的小知识,希望对你有所帮助(二)

我们将setShow设置为@click指令的值,以便在单击按钮时运行它。 因此,当我们单击div会显示,因为show变为true。 4、如何防止点击按钮,点击事件冒泡到级元素?...当在Vue.js中点击一个包含按钮的元素,我们可以使用self修饰符来防止点击事件冒泡到元素。...self修饰符,这样点击事件就只会限定在div中。...当我们点击每个div或span元素,将会运行showAlert方法。 5、使用Vue.js滚动到一个元素 有时候,我们需要使用Vue.js滚动到一个元素。...同时,如果您想获取更多前端技术的知识,欢迎关注我,您的支持将是我分享最大的动力。我会持续输出更多内容,敬请期待。

13120

jQuery 入门指南教程

对于获取的元素集合,获取其中的某一项(通过索引指定)可以使用eq或get(n)方法或者索引号获取,要注意,eq返回的是jQuery对象,而get(n)和索引返回的是dom元素对象。...对于jQuery对象只能使用jQuery的方法,而dom对象只能使用dom的方法,如要获取第三个元素的内容。...$('#msg').click(); // 触发 id 为 msg 的元素的单击事件 $('#msg').click(fn); // 为 id 为 msg 的元素的单击事件添加函数 如果选中多个元素,...('p'); // 选择 div 元素后面的第一个 p 元素 $('div').parent(); // 选择 div 元素的元素 $('div').closest('form'); // 选择离 div...最近的那个 form 元素 $('div').children(); // 选择 div 的所有子元素 $('div').siblings(); // 选择 div 的同级元素 对 css 操作 $

1.2K11

继续死磕前端

id是box的元素的元素 $('#box').parent(); //选择id是box的元素的所有子元素 $('#box').children(); //选择id是box的元素的同级元素 $(...() //跳到ul的元素,也就是iddiv1的元素 .siblings() //跳到div1元素平级的所有兄弟元素 .children('ul') //这些兄弟元素中的ul子元素 .slideUp...html('xxx'); jquery 中获取或者设置某个属性值可以使用如下方法: // 取出图片的地址 var $src = $('#img1').prop('src');...); //创建一个空的div var $div2 = $('这是一个div元素'); 移动或者插入标签的方法 1、 append() 和 appendTo():在现存元素的内部,从后面放入元素... 2、 prepend() 和 prependTo():在现存元素的内部,从前面放入元素 3、 after() 和 insertAfter():在现存元素的外部

2.8K10

JS快速入门(二)

节点拥有子节点,同级的子节点被称为同胞(兄弟或姐妹) 常用节点获取方法和属性 要进行 DOM 操作,首先要获取到需要操作的节点或节点集合,接下来以下面的示例代码为基础,介绍常用的 DOM 获取方法和属性...--默认值123--> 获取节点的方法(直接查找) 方法 说明 getElementById 获取带有指定id的节点 getElementsByTagName...如果属性已经存在,则更 新该值;否则,使用指定的名称和值添加一个新的属性; JS示例代码 <p class="item" title...(child) 删除选定的子节点,需要指定元素 // html 结构如下: 元素1 元素2 // 删除 div...class="box">主要内容 此处 JS 代码在元素之前,所以应该将代码放在 load 事件中,等待元素加载完成后再 获取其内容; 使用 onload 绑定事件,注意一个页面不要存在多个

6.5K30

Vue 05.组件

-- 通过 mode 属性,设置组件切换的模式 --> 添加切换样式...id="app"> 子组件向组件传值 原理:组件将方法的引用,传递到子组件内部,子组件在内部调用组件传递过来的方法,同时把要发送给组件的数据...,在调用方法的时候当作参数传递进去 组件将方法的引用传递给子组件,其中,getMsg是组件中methods中定义的方法名称,func是子组件调用传递过来方法时候的方法名称 <son @func="getMsg...$emit('方法名', 要传递的数据)方式,来调用<em>父</em>组件中的方法,同时把数据传递给<em>父</em>组件使用 <...$refs 来<em>获取</em>DOM元素和组件 可以通过该方法<em>获取</em>子组件的值和方法 <input type="button" value="<em>获取</em>元素内容" @click

92070

vue2.0知识点汇总

.left - (2.2.0) 只当点击鼠标左键触发。 .right - (2.2.0) 只当点击鼠标右键触发。 .middle - (2.2.0) 只当点击鼠标中键触发。...注意当使用对象语法,是不支持任何修饰器的。 用在普通元素上,只能监听 原生 DOM 事件。用在自定义元素组件上,也可以监听子组件触发的自定义事件。...DOM元素 前端框架就是为了减少dom操作,特定情况下也提供了的操作方式 在指定的元素上,添加ref=”名称” 在获取的地方加入 this....$refs.名称 如果ref放在了原生DOM元素上,获取的数据就是元素DOM对象 如果ref放在组件对象上,获取的就是组件对象 获取子组件DOM对象,通过this.refs.sub.refs.sub.el...$route.query.id this.$route.params.id 编程式导航 不能保证用户一定会单击某些按钮 并且当前操作除了路由跳转以外,还有一些别的附加操作 this.

6.6K70

C1能力认证训练题解析 _ 第四部分 _ Web进阶「建议收藏」

常用节点获取方法: 名称 描述 getElementById() 获取带有指定id的节点 getElementsByTagName() 获取带有指定标签名的节点集合 querySelector() 获取指定选择器或选择器组匹配的第一个节点...获取元素节点信息常用属性: 名称 描述 innerHTML 返回元素内包含的所有HTML内容(文本和标签),类型为字符串 parentNode 返回指定节点的节点 children 返回指定元素的子元素节点集合...常用的节点属性获取方式: 名称 描述 getAttribute() 返回元素一个指定的属性值 直接使用属性名称获取 适用于部分属性(如:title,value,href) (1)获取id名为container...________('div#container') 答案:querySelector “div#container”属于CSS选择器字符串,且id名不可重复,选择的只能是一个元素,所以需要获取指定选择器或选择器组匹配的第一个节点...常用鼠标事件 名称 描述 click 单击鼠标左键触发。

2K20

5、React组件事件详解

; 当某个事件触发,React根据这个内部映射表将事件分派给指定的事件处理函数; 当映射表中没有事件处理函数,React不做任何操作; 当一个组件安装或者卸载,相应的事件处理函数会自动被添加到事件监听器的内部映射表中或从表中删除...单击触发react事件 React并不是将click事件绑在该div的真实DOM上,而是在document处监听所有支持的事件,当事件发生并冒泡至document处,React...> 单击原始事件触发 ) } } export default ReactEvent 合成事件和原生事件混合使用...onClick={this.onReactClick}> 单击事件触发 ) } } export default...组件React合成事件绑定事件触发 可以看到若不阻止事件传播每次(单击子元素)事件触发流程是: Document->子元素(原生事件触发)->元素(原生事件)->回到Document->React

3.7K10

JavaScript事件

事件处理程序:我们用户在页面中进行的点击这个动作,鼠标移动的动作,网页页面加载完成的动作等,都可以称之为事件名称,即:click、mousemove、load等都是事件的名称。...事件类型 (1)单击事件onClick   当用户单击鼠标按钮,产生onClick事件。同时onClick指定的事件处理程序或代码将被调用执行。...(4)获得焦点事件onFocus   当用户单击Text或textarea以及select对象,产生该事件。此时该对象成为前台对象。...id="tg"> 理解事件的基本概念 如果单击了p标签,那么,如果是事件冒泡流的事件流机制,则click事件将按照如下顺序进行执行...其优势在于: 大大减少了事件处理程序的数量,在页面中设置事件处理程序的时间就更少了(DOM引用减少——也就是上面我们通过id获取标签,所需要的查找操作以及DOM引用也就更少了)。

2K60
领券