js阻止冒泡事件

Javascript中事件,事件流以及阻止事件冒泡的详解 1.什么事件?什么是事件流 ?事件流的出现? 一.什么是事件? 事件是文档或者浏览器窗口中发生的,特定的交互瞬间。 事件是用户或浏览器自身执行的某种动作,如click,load和mouseover都是事件的名字。 事件是javaScript和DOM之间交互的桥梁。你若触发,我便执行——事件发生,调用它的处理函数执行相应的 JavaScript代码给出响应。典型的例子有:页面加载完毕触发... 阅读详情

Js 冒泡事件阻止

1.  事件目标

现在,事件处理程序中的变量event保存着事件对象。而event.target属性保存着发生事件的目标元素。这个属性是DOM API中规定的,但是没有被所有浏览器实现 。jQuery对这个事件对象进行了必要的扩展,从而在任何浏览器中都能够使用这个属性。通过.target,可以确定DOM中首先接收到事件的元素(即实际被单击的元素)。而且,我们知道this引用的是处理事件的DOM元素,所以可以编写下列代码:
$(document).ready(function(){
 $('#switcher').click(function(event){
  $('#switcher .button').toggleClass('hidden');
  })
 })
  
$(document).ready(function(){
 $('#switcher').click(function(event){
  if(event.target==this){
  $('#switcher .button').toggleClass('hidden');
  }
  })
 })
此时的代码确保了被单击的元素是<div id="switcher"> ,而不是其他后代元素。现在,单击按钮不会再折叠样式转换器,而单击边框则会触发折叠操作。但是,单击标签同样什么也不会发生,因为它也是一个后代元素。实际上,我们可以不把检查代码放在这里,而是通过修改按钮的行为来达到目标 。

2. 停止事件传播

事件对象还提供了一个.stopPropagation()方法,该方法可以完全阻止事件冒泡。与.target类似,这个方法也是一种纯JavaScript特性,但在跨浏览器的环境中则无法安全地使用 。不过,只要我们通过jQuery来注册所有的事件处理程序,就可以放心地使用这个方法。

下面,我们会删除刚才添加的检查语句event.target == this,并在按钮的单击处理程序中添加一些代码:

$(document).ready(function(){
 $('#switcher .button').click(funtion(event){
  //……
   event.stopPropagation();
  })
 }) 

  同以前一样,需要为用作单击处理程序的函数添加一个参数,以便访问事件对象。然后,通过简单地调用event.stopPropagation()就可以避免其他所有DOM元素响应这个事件。这样一来,单击按钮的事件会被按钮处理,而且只会被按钮处理。单击样式转换器的其他地方则可以折叠和扩展整个区域。

3. 默认操作

如果我们把单击事件处理程序注册到一个锚元素,而不是一个外层的<div>上,那么就要面对另外一个问题:当用户单击链接时,浏览器会加载一个新页面。这种行为与我们讨论的事件处理程序不是同一个概念,它是单击锚元素的默认操作。类似地,当用户在编辑完表单后按下回车键时,会触发表单的submit事件,在此事件发生后,表单提交才会真正发生。

如果我们不希望执行这种默认操作,那么在事件对象上调用.stopPropagation()方法也无济于事,因为默认操作不是在正常的事件传播流中发生的。在这种情况下,.preventDefault()方法则可以在触发默认操作之前终止事件 。

提示 当在事件的环境中完成了某些验证之后,通常会用到.preventDefault()。例如,在表单提交期间,我们会对用户是否填写了必填字段进行检查,如果用户没有填写相应字段,那么就需要阻止默认操作。我们将在第8章详细讨论表单验证。

事件传播和默认操作是相互独立的两套机制,在二者任何一方发生时,都可以终止另一方。如果想要同时停止事件传播和默认操作,可以在事件处理程序中返回false,这是对在事件对象上同时调用.stopPropagation()和.preventDefault()的一种简写方式。

博客园大道至简

http://www.cnblogs.com/jams742003/

转载请注明:博客园

876-基于STM32的毫米波雷达智能睡眠监测系统 基于STM32的毫米波雷达智能睡眠监测系统通过非接触式毫米波雷达检测人体呼吸频率和体动次数,结合WIFI数据传输和OLED显示,实现睡眠质量分析与远程监控。系统核心功能包括生理参数采集、阈值设置、数据可视化及远程交互。 阅读详情

相关推荐

写一个b站爬虫(思路)

part 0 安装 scrapy, requests part 1 信息获取 打开番剧索引链接(https://www.bilibili.com/anime/index/) F12控制台,选中NETWORK,来到xhr文件,我们可以找到了存放番剧json的地方

kou的博客 488

Js 冒泡事件阻止

1. 事件目标现在,事件处理程序中的变量event保存着事件对象。而event.target属性保存着发生事件的目标元素。这个属性是DOM API中规定的,但是没有被所有浏览器实现 。jQuery对这个事件对象进行了必要的扩展,从而在任何浏览器中都能够使用这个属性。通过.target,可以确定DOM中首先接收到事件的元素(即实际被单击的元素)。而且,我们知道this引用的是处理事件的DOM元素

qc_mwq的专栏 554

VTK-9.5.0 1D2D3DWidget实现灰度图+深度图+3D点云显示(可轻松集成到自己的项目)

VTK1D2D3DWidget是一个基于Qt和VTK开发的3D点云可视化工具,支持RGB和深度点云数据的显示与处理。主要功能包括点云加载、可视化、保存为PLY格式文件,以及背景颜色、点间隔、坐标轴显示等参数的自定义设置。该工具采用模块化设计,核心组件包括主窗口管理类、VTK渲染组件和自定义鼠标交互样式,依赖Qt5+和VTK9.5.0库实现跨平台支持。项目提供完整的源码和构建指南,适用于点云数据的快速展示与分析。

Qt历险记,专注Qt技术,三年医疗设备研发经验,1年机器视觉研发经验,半年柔性传感研发经验。 387

vue中阻止click事件冒泡(防止触发另一个事件)的方法

方法一:使用vue阻止子级元素的click事件冒泡。简单得:可以直接用stop <div @click="test1()"> <span @click.stop="test2()">按钮1</span> <span>按钮2</span> </div> 这样点击div里面的按钮1,就不会触发div绑定时间test1()方法。 方法二:可以自己写个阻止冒泡事件 然后在发生冒泡的元素中调用这个事件 @

weixin_42365757的博客 4万+

详细解读经典跨模态对齐技术Q-Former代码

介绍BLIP2的博客层出不穷,介绍Q-Former的博客也不少,但是详细解读Q-Former代码的博客很少。这篇博客希望以代码为基础,讲明白Q-Former的原理和核心思想,并详细解读一些值得注意的细节。希望读者们能从这一经典技术中朝花夕拾,得到启发。

沉迷单车的追风少年 2464

EMC基础知识总结

电磁干扰(Electromagnetic Interference),简称EMI,有和两种。传导干扰主要是电子设备产生的干扰信号通过导电介质或公共电源线互相产生干扰;辐射干扰是指电子设备产生的干扰信号通过空间耦合把干扰信号传给另一个电网络或电子设备。

学海无涯的专栏 1370

js 阻止事件冒泡

js 阻止事件冒泡

前端小胡兔的博客 8373

ZYNQ PL通过EMIO ETHE1外接PHY由GMII转RGMII

1,设置EMIO方式引出ETHE1 2,从GMII过度到RGMII GMII: 发送 gmii_tx_clk gmii_tx_d[7:0] gmii_tx_en gmii_tx_er 接收 gmii_rx_clk gmii_rx_d[7:0] gmii_rx_dv gmii_rx_er RGMII: 发送 tx_clk tx_d[3:0] tx_ctrl 接收 rx_clk rx_d[3:0] rx_ctrl 首先数据总线从时钟单边沿采样8bit转变为了双边沿采样4bit,从88E1

wangjie36的博客 1万+

快速了解4种阻止事件冒泡的方法(原生js阻止,vue中使用修饰符阻止)

快速理解阻止事件冒泡的4种方法,使用原生js或者vue中阻止事件冒泡

m0_48895748的博客 1万+

YOLO26全新改进 | 最全损失函数改进篇 | SIoU 、WIoU、GIoU、DIoU、EIOU、CIoU, InnerIoU、InnerSIoU、InnerWIoU、FocusIoU等损失函数

🔥本文详细介绍了如何修改YOLO26中的损失函数。首先提供了完整的损失函数核心代码,包括WIoU_Scale类和各种IoU计算方法。然后分三步指导修改:1)替换metrics.py中的bbox_iou方法;2)修改loss.py中的iou计算代码;3)更新tal.py中的相关代码。文中特别强调了修改损失函数应在模型结构调整后使用,并提供了多种IoU损失函数的参数配置建议,包括SIoU、WIoU、GIoU等,可根据实际需求灵活选择搭配使用。

Ai缝合怪、助力小伙伴高效发论文 451

【OS】AUTOSAR OS系统调用产生Trap的过程详解

AUTOSAR OS系统调用产生Trap的过程详解

qq_36056498的博客 2440

JS 阻止事件冒泡

冒泡事件就是:你给父元素绑定了一个事件,你点击子元素也会触发这个事件,因为事件是向上冒泡的,阻止冒泡的方法最常见的方法有两种: 1.if(event.target == this) 使用这个判断就可以确定你点击的元素是否是事件触发的来源,这样就会阻止冒泡事件。 $('#container button').click(function(event){ if(event.targ...

weixin_30847939的博客 149

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

JS阻止事件冒泡

JS阻止事件冒泡

hffygc的博客 2038

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Js阻止事件冒泡与阻止默认事件

1、event.stopPropagation()方法 event.stopPropagation()方法阻止事件冒泡到父元素,阻止任何父事件处理程序被执行。不让事件向documen上蔓延,但是默认事件任然会执行,当你掉用这个方法的时候,如果点击一个连接,这个连接仍然会被打开。 提示:请使用 event.isPropagationStopped()方法来检查指定的事件上是否调用了该方法。 2、event.preventDefault()方法 取消事件的默认动作。该方法将通知 Web 浏览器不要执行与事件关联

weixin_44562686的博客 2510

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

js阻止默认事件(a标签跳转),阻止事件冒泡

最近刚学习完js基础,今天发现对js的默认事件阻止以及阻止事件的冒泡有点忘记,于是写这篇文章算是做一个总结,也是加深一下印象。 1.阻止默认事件 在html中有很多自带默认事件的元素,很典型的例子:a标签,如果给a标签绑定点击事件,触发后页面会有一个刷新,是a链接默认的跳转事件,阻止这个有很多方法 给a标签中href属性添加 <a href="javascript:;">链接</...

seiEight的博客 2万+

js /. JavaScript事件 /阻止/冒泡

对于一些标签来说,他们拥有自己的事件,比如:a标签可以跳转,submit/button可以提交表单,reset可以重置按钮,那么如果想给这些按钮添加事件,并且不让他执行对应的默认事件的话,就需要使用自制事件发生;阻止默认事件的方法有两种:使用的是事件对象的方法来阻止event.stipPropagation();补充一个知识点:点击a标签的时候,想要将默认的跳转去除掉,添加自己的跳转方式 对于a标签来说,默认的行为就是进行页面跳转,如果不想让a标签进行跳转,可以在注册事件中使用return false。

qq_73700909的博客 574

js阻止冒泡;阻止JS事件穿透

js阻止冒泡;阻止JS事件穿透 js阻止冒泡 <html> <title></title> <head> <meta charset="utf-8"> <style type="text/css"> .divone{width:100px;height:100px;background:black;position: relative;cursor: pointer} .divchild{

奔跑的菜鸡 1236

JS-阻止事件冒泡

在 JavaScript 中,阻止事件冒泡(即阻止事件从子元素传播到父元素)可以通过方法来实现。这个方法可以防止事件继续向上层元素传播。

chunchun的博客 1277

JavaScript基础-阻止事件冒泡

JavaScript基础-阻止事件冒泡

m0_61787196的博客 1614

js事件冒泡、阻止事件冒泡以及阻止默认行为

大家好,我是IT修真院武汉分院web第17期的学员吴三水,一枚正直纯洁善良的web程序员。 今天给大家分享一下,修真院官网js(职业)任务四,深度思考中的知识点——js事件冒泡、阻止事件冒泡以及阻止默认行为 1.背景介绍 冒泡事件 故名思意,冒泡事件就像水底气泡浮到水面这一过程。即是事件从最底层逐个经过上面一级级事件的过程,就是冒泡事件。 默认事件 默认事件就是浏览器自己的行为,比如我们在点击a标...

qq_42330966的博客 802

js阻止事件冒泡

js阻止事件冒泡 <body>   <form id="form1" runat="server">     <div id="divOne" onclick="alert('我是最外层');">       <div id="divTwo" onclick="alert('我是中间层!')">         <a id="hr_three"...

jean_0920的博客 368

在JavaScript 如何阻止事件冒泡和事件默认行为?

事件冒泡和默认行为是JavaScript事件处理中的两个核心概念,理解并掌握它们的控制方法,是写出流畅交互的前提。事件冒泡就像水中涟漪,会从触发点向上扩散,能有效阻止这种扩散,避免父元素的事件被误触发。这在处理嵌套元素的交互(如弹窗、下拉菜单)时特别重要,能防止“点A触发B”的乌龙事件。浏览器的默认行为是把双刃剑,方便了基础交互却限制了自定义需求。就像一把“总开关”,能禁用这些预设动作,让我们自由实现表单验证、自定义链接跳转等功能。事件对象是基础,必须正确获取和传递现代项目优先用和。

前端大白话 1401

javascript的阻止默认事件和阻止冒泡事件

转载自:http://www.cnblogs.com/ishenghuo/p/4266850.html javascript的阻止默认事件和阻止冒泡事件 这两个方面的知识,在妙味课堂中有听过,再次复习一下: 原文来自:【http://www.cnblogs.com/Essence/p/4266618.html】 事件冒泡与默认行为   在说事件冒泡之前,

mozuncangtianbaxue的博客 9171

js事件冒泡与阻止冒泡

<div id="dv"> <div id="dv1"> <div id="dv2"></div> </div> </div> </body> <script> function mm(id){ return document.getElementByI...

u014414110的博客 387
上一篇: jquery学习之取值
下一篇: 解决邮件javax.mail发送邮件的问题unable to find valid certification path to requested target
qq_25041295
博客等级 码龄12年 0粉丝 10原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值