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

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

前言在JavaScript中,事件冒泡和事件捕获是两种不同的事件传播方式。当一个事件被触发时,它会从最内层的元素开始,然后逐级向外传播,直到最外层的元素。...正文内容事件冒泡事件冒泡是指当一个事件被触发时,它会从最内层的元素开始,然后逐级向外传播,直到最外层的元素。在这个过程中,事件会经过每一个元素,直到它到达最外层的元素。...例如,当你单击一个按钮时,事件会从按钮开始向外传播,直到它到达文档的最外层。在这个过程中,事件会经过按钮的父元素、父元素的父元素,以此类推,直到它到达文档的最外层。这个过程可以用以下代码来演示:中,事件会经过每一个元素,直到它到达最内层的元素。例如,当你单击一个按钮时,事件会从文档的最外层开始向内传播,直到它到达按钮。...;}, true);body>在这个例子中,我们注册了一个单击事件处理程序,用于当用户单击按钮时输出一条消息。

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

    JavaWeb——JQuery之高级案例实战(打开网页自动弹出广告效果、抽奖效果实现)

    2 抽奖效果实现 【需求】: 1)点击开始按钮,小相框中滚动图片; 2)点击停止按钮,小相框停止滚动,大相框中显示选中的图片; 【分析】: 1) 给开始按钮绑定单击事件: 定义循环定时器、 切换小相框的...src属性(定义数组,存放图片资源路径、生成随机数作为数组索引); 2) 给结束按钮绑定单击事件:停止定时器、给大相框设置src属性; 【代码实现】: 按钮绑定单击事件 $("#startID").click(function () { // 1.1 定义循环定时器 20毫秒执行一次...给结束按钮绑定单击事件 $("#stopID").click(function () { //处理按钮是否可以使用的效果...-- 停止按钮 --> 停止" style="width:150px;height:150px;font-size

    2.3K40

    第51次文章:JQuery高级

    当单击jq对象对应的组件后,会执行fn1,第二次单击会执行fn2..... 【注意】1.9版本 .toggle() 方法删除,jQuery Migrate(迁移)插件可以恢复此功能。...”按钮,小相框的图片快速切换,点击“停止”按钮,小相框内的图片暂停,大相框展示小相框内的内容。...(2)分析 给开始按钮绑定单击事件 定义循环定时器 切换小相框的src属性。首先定义数组,存放图片资源路径,然后生成随机数,作为数组索引。 2....给结束按钮绑定单击事件 停止定时器 给大相框设置src属性 (3)代码实现 tips:我们定义一个Jquery插件,在插件里面定义了两个方法,分别是check()和uncheck(),然后再给两个单击按钮绑定不同的方法事件。

    3.6K30

    Javascript函数的简单学习

    第十课 事件与事件处理 1:事件     什么事事件?例如在页面载入完毕时,将触发onload()事件;     当用户单击按钮时,将触发按钮的onclick事件等。     ...:        单击鼠标左键时触发,当光标的焦点在按钮上,并按enter键也会触发     ondblclick:     双击鼠标左键时触发     onmousedown:    单击任何一个鼠标按键时触发...    onmousemove:    鼠标在某个元素上移动时持续触发     onmouseout:     鼠标从指定的元素上移动开始触发     onmouseover:    鼠标移动到某个元素时触发...    onmouseup:      释放任意一个鼠标按键时触发     onreset:        单击重置按钮时,在form标签上触发     onresize:       窗口或者框架的大小发生改变时触发...    onscroll:       在任何滚动条的元素或者窗口上滚动时触发     onsubmit:       单击提交按钮时,在上触发 2:事件处理     事件处理程序是用来响应某个事件而执行的处理程序

    2K80

    jQuery实战

    5、综合案例 复选框 5.1、案例效果 5.2、分析和实现 功能分析 全选 为全选按钮绑定单击事件。 获取所有的商品项复选框元素,为其添加 checked 属性,属性值为 true。...全不选 为全不选按钮绑定单击事件。 获取所有的商品项复选框元素,为其添加 checked 属性,属性值为 false。...反选 为反选按钮绑定单击事件 获取所有的商品项复选框元素,为其添加 checked 属性,属性值是目前相反的状态。 代码实现 <!...功能分析 准备一个数组 定义计数器 定义定时器对象 定义图片路径变量 为开始按钮绑定单击事件 设置按钮状态 设置定时器,循环显示图片 循环获取图片路径 将当前图片显示到小图片上 计数器自增 代码实现...功能分析 为停止按钮绑定单击事件 取消定时器 设置按钮状态 将图片显示到大图片上 代码实现 //11.为停止按钮绑定单击事件 $("#stopBtn").click(function(){ /

    1.9K20

    浅析 JavaScript 中的事件委托

    事件传播 当你单击下面 html 中的按钮时: body> Click...'Body click event in capture phase'); }, true); 在这个 Codesandbox 演示[2]中,单击按钮时,你可以在控制台中查看事件的传播方式。...那么事件传播是怎样帮助捕获多个按钮事件的呢? 该算法很简单:把事件侦听器附加到按钮的父级,并在单击按钮时捕获冒泡事件。这就是事件委托的工作方式。...该事件侦听器也会对按钮单击做出反应,因为按钮单击事件冒泡通过祖先元素(由于事件传播)。 步骤 3:用 event.target 选择目标元素 单击按钮时,将会用event 对象参数调用处理函数。...总结 当发生点击事件(或传播的任何其他事件)时: 事件从 window、document、根元素向下传播,并经过目标元素的祖先(捕获阶段); 事件发生在目标(目标阶段)上; 最后,事件在目标祖先之间冒出气泡

    2.7K30

    javaScript事件处理

    body> ? 对此还有: resize事件:当调整浏览器的窗口到一个新的宽度或者高度时,就会触发resize事件。...---- 5.常用事件方法(包括窗口事件,鼠标事件,键盘事件,文本事件) 方法 描述 onabort 图像加载被中断 onblur 元素失去焦点 onchange 用户改变域的内容 onclick 鼠标单击某个对象...ondblclick 鼠标双击某个对象 onerror 当加载文档或者图像时发生某个错误 onfocus 元素获得焦点 onkeydown 某个键盘的键被按下 onkeypress 某个键盘的键被按下或者按住...鼠标被移到某元素之上 onmouseup 某个鼠标按键被松开 onreset 重置按钮被单击 onresize 窗口或者框架被调整尺寸 onselect 文本被选定 onsubmit 提交按钮被单击...onunload 用户退出页面 ---- 6.事件冒泡和事件捕捉 事件发生就会产生事件流,当一个HTML元素产生一个事件时,该事件会在元素节点和根节点之间按特定的顺序转播,类似于递和归。

    2.4K10

    javascript基础之客户端事件驱动

    ps:对于js脚本的支持以浏览器而定!!!有的低版本的浏览器可能不支持!!! 1.单击事件(onClick) 啥叫单击事件呢?当用户单击鼠标按钮是,就会产生单击事件。...="按钮" onclick= "aclick()" /> 16 17 18 body> 19   效果如下图: 2.更改事件(onChange)   一旦用户更改表单的值时..." name="name" onchange="check()"/> 15 16 body> 17   效果如下图 : 3.选中事件(onSelect)   当页面中的元素被选中时..." name="name" onchange="check()"/> 15 16 body> 17   效果如下图: 4.加载事件(onLoad)   加载事件是在刚刚打开网页时...>   效果如下图: 5.卸载前事件(beforeunload)   确切说,称为“离开页面前事件”比较恰当,当你单击当前标签页的关闭按钮时会触发此事件。

    3.7K30

    阻止a标签的默认事件及延伸

    看如下实例: (1)把单击事件处理程序注册到一个锚元素,而不是一个外层的上,那么就要面对另外一个问题:当用户单击链接时,浏览器会加载一个新页面。...(2)当用户在编辑完表单后按下回车键时,会触发表单的submit事件,在此事件发生后,表单提交才会真正发生。 这种行为与我们讨论的事件处理程序不是同一个概念,它是单击标签元素的默认操作。...当Event 对象的 cancelable为false时,表示没有默认行为,这时即使有默认行为,调用preventDefault也是不会起作用的。...//仅仅是在HTML事件属性 和 DOM0级事件处理方法中 才能通过返回 return false 的形式组织事件宿主的默认行为。...当需要停止冒泡行为时,可以使用: function stopBubble(e) { //如果提供了事件对象,则这是一个非IE浏览器 if ( e && e.stopPropagation

    2.5K60

    杨老师课堂之Jquery的筛选,事件,效果,Ajax,javascript跨域)

    事件冒泡可能会引起预料之外的效果,上例中,本来只想触发元素 的click事件,然而 元素和元素的click事件也同时被触 发了.因此有必要对事件的作用范围进行限制.当单击元素时,只 触发元素的click...事件,而不触发 和元素上的 click事件.当单击 元素时,只触发 元素上的click事件, 而不触发元素上的click事件....停止事件冒泡 停止时间冒泡可以阻止事件中其他对象的事件处理函数被执行.在jquery中提供了stopPropagation()方法来阻止冒泡事件....; event.stopPropagation();//停止冒泡事件 }) 当单击span元素时,只会触发span元素上的click事件,而不会触发 div元素和body元素的click事件....可以用同样的方法解决 元素上的问题 阻止默认行为 网页中的元素都有自己默认的行为,例如:单击超链接后悔跳转,单击”提交”按钮会表单会提交,有时需要阻止元素的默认行为 在jquery中,提供了preventDefault

    8.3K20

    第9章 JavaScript事件处理

    2.事件处理程序在HTML中的调用 在HTML中调用事件处理程序,只需要在HTML标签中添加相应的事件,并在其中指定要执行的代码或是函数名即可。...冒泡型事件(Bubbling):从DOM树型结构上理解,就是事件由子节点沿父节点一直向上传递直到根节点;从浏览器界面视图HTML 元素排列层次上理解就是,事件由具有从属关系的最确定的目标元素一直传递到最不确定的目标元素...onclick事件:鼠标单击时被触发的事件。 onmousedown事件:鼠标的按下事件。 onmouseup事件:鼠标松开事件。 onmouseover事件:鼠标移入事件。...returnValue为false即可 取消浏览器的事件传递 取消事件传递是指,停止捕获型事件或冒泡型事件的进一步传递。...例如在冒泡型事件传递中,body 停止事件传递后,位于上层的document的事件监听器就不再收到通知,不再被处理。

    1K20

    javascript入门笔记5-事件

    比如说,当用户单击按钮或者提交表单数据时,就发生一个鼠标单击(onclick)事件,需要浏览器做出处理,返回给用户一个结果。...3.鼠标单击事件( onclick ) onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件。同时onclick事件调用的程序块就会被执行,通常与按钮一起使用。.../form> body> 6.光标聚焦事件onfocus 当网页中的对象获得聚点时,执行onfocus调用的程序就会被执行。...onblur="message()"> body> 8.内容选中事件(onselect) 选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,...加载页面时,触发onload事件,事件写在body标签内。 b. 此节的加载页面,可理解为打开一个新页面时。 如下代码,当加载一个新页面时,弹出对话框“加载中,请稍等…”。 <!

    1.2K30

    如何遍历DOM

    DOM 树和节点 DOM中的所有元素都被定义为节点。节点的类型有很多种,但我们最常用的主要有三种: 元素节点 文本节点 注释节点 当HTML元素是DOM中的一个项时,它被称为元素节点。...注意:当使用HTML生成的DOM时,HTML源代码的缩进将创建许多空文本节点,这些节点在DevTools Elements选项卡中是不可见的。...-- an HTML comment --> 在 Developer Tools 的Elements选项卡中,你可能会注意到,每当单击并突出显示DOM中的任何一行时,它旁边就会出现== 0的值。...当用户将鼠标悬停在一个元素上,或单击一个元素,或按下键盘上的一个特定键时,这些都是事件类型。在这个特殊的例子中,我们希望我们的按钮侦听并准备在用户单击它时执行操作。...单击按钮,事件将触发。 总结 在本文中,我们了解了DOM 是如何构造成节点树的,节点树通常是HTML元素、文本或注释,我们创建了一个脚本,允许用户修改网站,而不必手动在开发人员控制台中输入代码。

    9K30

    JS DOM学习笔记

    ,这个元素还没有加载,如果这样就要把操作的代码放到body的onload事件中,或者可以把JavaScript放到元素之后。...元素的onload事件是元素自己加载完毕时触发,body onload才是全部加载完成。...();  //刷新当前页 10、window.event是IE下非常重要的属性,用来获得发生事件时的信息,事件不局限于window对象的事件,所有元素的事件都可以通过event属性取得相关信息。        ...= "提交"; //设置按钮值 document.appendChild(btn); //将按钮添加到文档中 13、不同浏览器中对DOM支持的方法不一样 获取网页中那个元素触发了事件,在IE...,在IE中绑定事件的方法是attachEvent; 在FireFox中绑定事件的方法是addEventListener jQuery之类的框架进行了封装,解决了不同浏览器上Dom的不同 14、jQuery

    4K40
    领券