如何使用 JavaScript 中的内联 onclick 属性停止事件传播?

如何使用 javascript 中的内联 onclick 属性停止事件传播?

有时,我们需要在嵌套的 HTML 元素上添加相同的事件。例如,我们有两个div,一个是父div,另一个是子div。现在,我们需要在父div和子div上添加onclick事件,并在用户点击父div和子div时执行不同的功能。在这种情况下,它将始终在父 div 和子 div 上执行事件。

让我们通过下面的示例了解如何在嵌套 HTML 元素上执行相同的事件。

示例

在下面的示例中,我们创建了两个 div。我们为外部 div 指定了“parent-div”类名称,为内部 div 指定了“child-div”类名称。

此外,我们还添加了 onclick 事件,在两个 div 元素上执行不同的功能。当用户点击内部div时,父div中也会触发点击事件。

立即学习“Java免费学习笔记(深入)”;

         .parent-div {         width: 300px;         height: 150px;         margin: 50px;         padding: 10px;         background-color: lightblue;      }      .child-div {         width: 100px;         height: 70px;         margin: 30px;          padding: 10px;         background-color: lightgreen;      }      

Adding the same events to nested HTML elements in JavaScript

Click on the below parent & child DIVs to see the result

Parent DIV
Child DIV
let content = document.getElementById("content"); function executeParent() { content.innerHTML += "Parent div clicked
"; } function executeChild() { content.innerHTML += "Child div clicked
"; }

我们需要使用事件来解决上述问题,比如点击子div,调用父div的click事件.stopPropogation()方法。

语法

用户可以按照下面的语法使用 stopPropgation() 方法来停止向父元素传播事件。

Event.stopPropogation(); 

示例

在下面的示例中,我们在 HTML

标记内添加了一些文本,并在执行executeP() 函数的 onclick 事件中添加了一些文本。此外,我们在

播记 播记

播客shownotes生成器 | 为播客创作者而生

播记 43 查看详情 播记

标签内添加了一个 标签,并在执行executeSpan() 函数的span 标签上添加了“onclick”事件。

此外,我们还使用了 event.stoPropogation() 方法和 元素的 onclick 事件,以在用户单击 时停止在

标记上传播事件。

在输出中,用户可以观察到当他们单击元素的文本时,它只执行executeSpan()函数。

   

Adding the same events to nested HTML elements and using the event.stopPropogation() method in JavaScript

Hello users! How are you? Child Span

let content = document.getElementById("content"); function executeP() { content.innerHTML += "Clicked on the p element.
"; } function executeSpan() { content.innerHTML += "Clicked on the Span element!
"; }

示例

在下面的示例中,我们使用 HTML 标记创建了三个嵌套元素的层次结构。我们在每个元素上添加了 onclick 事件。如果我们不使用event.stopPropogation()方法,它总是执行firstDivClick()函数。

为了解决这个问题,我们在调用它们时将事件作为函数的参数传递,并在函数内使用 stopPropogation() 方法。

用户可以观察到,当他们单击“菜单”文本时,它仅执行 kebabMenuClick() 函数。当用户单击第二个 div 时,它仅执行 secondaryDivClick() 函数。

         .card-1 {         width: 300px;         height: 200px;         background-color: red;         cursor: pointer;      }      .card-2 {         width: 200px;         height: 150px;         background-color: blue;         cursor: pointer;      }      .kebab-menu {         font-size: 1.2rem;         color: white;         cursor: pointer;      }      

Adding the same events to nested HTML elements and using the event.stopPropogation() method in JavaScript

Menu
let content = document.getElementById("content"); function firstDivClick(event) { content.innerHTML += "first div clicked
"; } function secondDivClick(event) { event.stopPropagation(); content.innerHTML += "second div clicked
"; } function kebabMenuClick(event) { event.stopPropagation(); content.innerHTML += "kebab menu clicked
"; }

用户学会了对事件使用 event.stopPorpogation() 方法。基本上,它用于阻止事件传播到父元素。这样,当同一个事件触发父子元素时,我们就可以为所有子元素执行不同的函数。

以上就是如何使用 JavaScript 中的内联 onclick 属性停止事件传播?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/530419.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
Linux CPUInfo的flags字段有何作用
上一篇 2025年11月9日 10:10:52
idea怎么创建java web项目
下一篇 2025年11月9日 10:10:58

相关推荐

  • 小米汽车发布小米YU7购前准备攻略 明晚正式发布

    小米汽车发布小米YU7购前准备攻略 明晚正式发布小米汽车发布小米YU7购前准备攻略 明晚正式发布小米汽车发布小米YU7购前准备攻略 明晚正式发布小米汽车发布小米YU7购前准备攻略 明晚正式发布

    6月25日,小米汽车官方发布了针对即将上市的xiaomi yu7的详细购前准备攻略,旨在帮助有意购车的用户提前做好各项准备,在车辆正式开售后能够快速、顺利地完成定购流程。 ☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜ 小米YU7将于6月26…

    2026年10月2日 • 用户投稿
    000
  • laravel有什么技术

    laravel有什么技术laravel有什么技术laravel有什么技术laravel有什么技术

    laravel中的功能技术:1、Bundle;2、Eloquent ORM;3、应用逻辑;5、Restful控制器;6、自动加载类;7、视图组装器;8、反向控制容器;9、迁移,“Artisan”命令行工具;10、单元测试;11、自动分页等。 本教程操作环境:windows7系统、Laravel5版、…

    2026年10月2日 • 用户投稿
    000
  • Linux 超级漂亮的 Shell

    Linux 超级漂亮的 ShellLinux 超级漂亮的 ShellLinux 超级漂亮的 ShellLinux 超级漂亮的 Shell

    先来一张美图 1 zsh 介绍 1.1 Linux shell Linux/Unix 提供了很多种 Shell,为毛要这么多 Shell? 难道用来炒着吃么?那我问你,你同类型的衣服怎么有那么多件?花色,质地还不一样。写程序比买衣服复杂多了,而且程序员往往负责把复杂的事情搞简单,简单的事情搞复杂。牛…

    2026年10月2日 • 用户投稿
    000
  • 怎么让豆包AI生成Python数据库连接代码

    怎么让豆包AI生成Python数据库连接代码怎么让豆包AI生成Python数据库连接代码怎么让豆包AI生成Python数据库连接代码怎么让豆包AI生成Python数据库连接代码

    想让豆包ai生成python连接数据库的代码,关键在于清楚表达需求。1. 明确数据库类型(如mysql、postgresql、sqlite)及是否使用orm框架(如sqlalchemy)。2. 提供必要参数信息,包括host、user、password、database等字段。3. 可要求加入异常处…

    2026年10月2日 • 用户投稿
    100
  • 大润发优鲜如何删除商品

    大润发优鲜如何删除商品大润发优鲜如何删除商品大润发优鲜如何删除商品大润发优鲜如何删除商品

    在大润发优鲜购物时,难免会遇到需要删除已添加商品的情况。无论是不小心选错了商品,还是临时想修改购物清单,掌握删除商品的操作方法都非常实用。接下来,就为大家全面解析如何在大润发优鲜中顺利删除商品。 第一步,启动大润发优鲜的手机应用。进入主界面后,找到屏幕下方的导航栏,点击“购物车”入口。这里是所有已选…

    2026年10月2日 • 用户投稿
    000
  • Spring Boot 新手指南:解决本地开发环境默认登录页面的困惑

    Spring Boot 新手指南:解决本地开发环境默认登录页面的困惑Spring Boot 新手指南:解决本地开发环境默认登录页面的困惑Spring Boot 新手指南:解决本地开发环境默认登录页面的困惑Spring Boot 新手指南:解决本地开发环境默认登录页面的困惑

    本教程旨在帮助Spring Boot新手解决在本地开发环境中访问localhost:8080时遇到的默认登录页面问题。当Spring Boot应用启动时,如果引入了Spring Security依赖,它会自动启用默认安全配置,导致出现登录界面。本文将详细指导您如何从控制台日志中找到默认用户名(use…

    2026年10月2日 • 用户投稿
    000
  • 处理SublimeText快捷键无法使用的故障

    处理SublimeText快捷键无法使用的故障处理SublimeText快捷键无法使用的故障处理SublimeText快捷键无法使用的故障处理SublimeText快捷键无法使用的故障

    sublime text快捷键失效的原因包括其他程序占用快捷键、旧版本问题和设置文件损坏。解决方法如下:1. 使用系统工具检查并关闭占用快捷键的程序。2. 通过“help”菜单更新sublime text到最新版本。3. 重置快捷键设置文件,路径为packages/default/default.s…

    2026年10月2日 • 用户投稿
    000
  • Mac如何安装Homebrew_Homebrew for Mac安装与配置教程

    Mac如何安装Homebrew_Homebrew for Mac安装与配置教程Mac如何安装Homebrew_Homebrew for Mac安装与配置教程Mac如何安装Homebrew_Homebrew for Mac安装与配置教程Mac如何安装Homebrew_Homebrew for Mac安装与配置教程

    首先检查系统是否已安装Homebrew,若未安装则需先安装Xcode命令行工具,再通过官方脚本一键安装Homebrew,接着根据shell类型配置环境变量,最后验证安装结果。 如果您在使用Mac时需要便捷地管理命令行工具和软件包,但缺乏高效的包管理方式,则可以通过安装Homebrew来简化这一过程。…

    2026年10月2日 • 用户投稿
    000
  • mysql中in和等于的用法 mysql in与=使用场景

    在 MySQL 中,IN 和 = 是两种不同的操作符,各有其使用场景和优势。让我们深入探讨这两种操作符的用法和适用场景。 在 MySQL 中,IN 和 = 虽然都可以用来进行比较和筛选数据,但它们在使用场景和性能上有显著的差异。在实际开发中,选择使用哪一个往往取决于具体的业务需求和查询效率的考虑。 …

    2026年10月2日
    000
  • MySQL MVCC 原理揭秘:如何处理并发事务的读写冲突?

    MySQL MVCC 原理揭秘:如何处理并发事务的读写冲突?MySQL MVCC 原理揭秘:如何处理并发事务的读写冲突?MySQL MVCC 原理揭秘:如何处理并发事务的读写冲突?MySQL MVCC 原理揭秘:如何处理并发事务的读写冲突?

    MySQL MVCC 原理揭秘:如何处理并发事务的读写冲突? 引言:在数据库系统中,事务的并发执行是必不可少的。然而,并发执行也带来了一系列的问题,其中之一就是读写冲突。当多个事务同时读写同一个数据时,就可能出现不一致的情况。为了解决这个问题,MySQL引入了多版本并发控制(MVCC)机制。本文将揭…

    2026年10月2日 • 用户投稿
    000
  • Java中int到short与long到int类型转换的差异解析

    Java中int到short与long到int类型转换的差异解析Java中int到short与long到int类型转换的差异解析Java中int到short与long到int类型转换的差异解析Java中int到short与long到int类型转换的差异解析

    本文深入探讨了Java中原始类型转换的细微差别,特别是int类型常量表达式到short的隐式窄化转换,以及long类型到int的强制转换要求。核心在于Java语言规范(JLS 5.2)中对常量表达式的特殊处理,允许int型常量在值域内自动适配更小的整数类型,而long类型则无此便利。文章还将解释运算…

    2026年10月2日 • 用户投稿
    000
  • 如何让豆包AI实现Python数据清洗

    如何让豆包AI实现Python数据清洗如何让豆包AI实现Python数据清洗如何让豆包AI实现Python数据清洗如何让豆包AI实现Python数据清洗

    豆包ai虽不如专业python库强大,但在数据清洗中可辅助理解思路与方法。1. 可通过对话理清清洗流程,如检查缺失值、去重、标准化格式等;2. 能生成基础代码模板,如读取csv并删除空值;3. 可解释错误信息,如keyerror原因及排查方向;4. 能辅助编写自动化脚本逻辑,如定时任务设置。总体而言…

    2026年10月2日 • 用户投稿
    000
  • 火狐浏览器怎么设置主页为百度_火狐浏览器自定义主页与启动页设置教程

    火狐浏览器怎么设置主页为百度_火狐浏览器自定义主页与启动页设置教程火狐浏览器怎么设置主页为百度_火狐浏览器自定义主页与启动页设置教程火狐浏览器怎么设置主页为百度_火狐浏览器自定义主页与启动页设置教程火狐浏览器怎么设置主页为百度_火狐浏览器自定义主页与启动页设置教程

    1、打开火狐浏览器,点击右上角菜单进入设置,选择“常规”选项;2、在“启动”区域的“主页和新窗口”中输入https://www.baidu.com,实现主页跳转;3、在“当火狐启动时”选择“显示我的首页”或“显示以下页面”,并添加百度地址,使浏览器启动时自动打开百度;4、通过安装“New Tab O…

    2026年10月2日 • 用户投稿
    100
  • 好评卡牌肉鸽《超时空方舟》将登陆NS平台!2026年1月29日发售

    好评卡牌肉鸽《超时空方舟》将登陆NS平台!2026年1月29日发售好评卡牌肉鸽《超时空方舟》将登陆NS平台!2026年1月29日发售好评卡牌肉鸽《超时空方舟》将登陆NS平台!2026年1月29日发售好评卡牌肉鸽《超时空方舟》将登陆NS平台!2026年1月29日发售

    近日,发行商playism与开发商al fine宣布,卡组构筑类肉鸽角色扮演游戏《超时空方舟》豪华版将于2026年1月29日登陆switch平台。宣传视频已同步放出,一起来看看吧! 宣传视频: 《超时空方舟》最早于2019年11月12日在Steam平台开启抢先体验,并于2024年5月2日正式发售。在…

    2026年10月2日 • 用户投稿
    100
  • 配置SublimeText自动保存功能的参数

    配置SublimeText自动保存功能的参数配置SublimeText自动保存功能的参数配置SublimeText自动保存功能的参数配置SublimeText自动保存功能的参数

    sublime text 的自动保存功能可以通过在用户设置文件中添加 {“save_on_focus_lost”: true} 来启用。1) 按 ctrl + ,(windows)或 cmd + ,(mac)打开设置文件。2) 添加上述代码实现自动保存。3) 结合使用版本控制…

    2026年10月2日 • 用户投稿
    100
  • 2025年亚洲乒乓球团体锦标赛赛程表+亚锦赛直播平台与观看指南

    2025年亚洲乒乓球团体锦标赛赛程表+亚锦赛直播平台与观看指南2025年亚洲乒乓球团体锦标赛赛程表+亚锦赛直播平台与观看指南2025年亚洲乒乓球团体锦标赛赛程表+亚锦赛直播平台与观看指南2025年亚洲乒乓球团体锦标赛赛程表+亚锦赛直播平台与观看指南

    2025 年第 28 届亚洲乒乓球团体锦标赛于10 月 11 日至 15 日在印度布巴内斯瓦尔举办,作为 2026 年伦敦世乒赛团体赛资格赛,吸引了22 支男团、20 支女团参赛,男、女团体前 13 名可直接晋级世乒赛。赛事采用 “小组赛 + 淘汰赛” 两阶段赛制,上届前 6 名球队(男团:中国、中…

    2026年10月2日 • 用户投稿
    000
  • 如何使用Linux进行文件系统性能调优

    如何使用linux进行文件系统性能调优 引言:文件系统是操作系统中非常关键的一部分,它负责管理和存储文件数据。在Linux系统中,有多种文件系统可供选择,如ext4、XFS、Btrfs等。为了获得更好的性能和效率,对文件系统进行调优是至关重要的。本文将介绍如何使用linux进行文件系统性能调优,并给…

    2026年10月2日
    100
  • Thinkphp5.1趣味实现学生扫码选座功能

    Thinkphp5.1趣味实现学生扫码选座功能Thinkphp5.1趣味实现学生扫码选座功能Thinkphp5.1趣味实现学生扫码选座功能Thinkphp5.1趣味实现学生扫码选座功能

    tp5.1 学生扫码选座作为单独功能实现 前言 本功能目的是将学生扫码选座功能作为一个单独的功能实现,教师不用登陆就可以实现查看学生选定座位情况,教师又可以登陆绑定课程,统计学生本课程签到次数。老师不需要繁琐的注册登陆就可以实现部分功能,也可以使用本产品建立课程进行绑定,从而利用产品统计学生签到次数…

    2026年10月2日 • 用户投稿
    100
  • 崩坏星穹铁道1.0版本限定主C现版本强度一览-崩坏星穹铁道1.0版本限定主C现版本强度怎么样

    崩坏星穹铁道1.0版本限定主C现版本强度一览-崩坏星穹铁道1.0版本限定主C现版本强度怎么样崩坏星穹铁道1.0版本限定主C现版本强度一览-崩坏星穹铁道1.0版本限定主C现版本强度怎么样崩坏星穹铁道1.0版本限定主C现版本强度一览-崩坏星穹铁道1.0版本限定主C现版本强度怎么样崩坏星穹铁道1.0版本限定主C现版本强度一览-崩坏星穹铁道1.0版本限定主C现版本强度怎么样

    崩坏星穹铁道1.0时期限定主C现状强度盘点!随着游戏迈入3.0版本尾声,剧情高潮即将揭晓,各种重磅消息也蓄势待发。然而,当初开服时备受瞩目的那些限定主C角色,如今在当前环境下的表现究竟如何?一起来回顾一下这些元老级角色的现状。 希儿:曾被寄予厚望的量子主C,梦想着成为战舰核心输出,却始终未能真正起飞…

    2026年10月2日 • 用户投稿
    500
  • Laravel6的新错误界面你知道是啥样子的吗?

    Laravel6的新错误界面你知道是啥样子的吗?Laravel6的新错误界面你知道是啥样子的吗?Laravel6的新错误界面你知道是啥样子的吗?Laravel6的新错误界面你知道是啥样子的吗?

    下面由laravel教程栏目给大家介绍关于laravel 6 的新错误界面,希望对需要的朋友有所帮助! Ignition 将会成为 Laravel 6 的新错误界面 作为 Laracon EU 2019 的一部分,Freek van der Herten 和 Marcel Pociot 共同宣布了他…

    2026年10月2日 • 用户投稿
    100

发表回复

登录后才能评论
关注微信