如何阻止孩子传播由实时/委托侦听器触发的事件?

2024-04-05

我有一个委托父级,用于侦听具有特定类别的一组子级中的单击事件。

$(".toggle_group").on("click",".toggle",function(e){ .. });

这是 html 的一个例子

<div class='toggle_group'>
  <a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
  <a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
  <a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
  <a class='toggle'>click me and i toggle <div>Im a child of toggle</div></a>
</div>

问题是孩子们a.toggle将事件传播到父级,在不应该触发处理程序时触发处理程序。根据 jQuery 文档,您无法停止实时/委托事件侦听器上的事件传播。

如何阻止 a.toggle 的这些子子级将事件传播给父级?或者在某些情况下可能允许这样做?

你看到的内部 div.toggle应该是一个下拉菜单。当您单击菜单时,它不应该切换,只有当您单击切换链接时...


检查此页面中的评论,至少有一些声称找到了解决方法。http://api.jquery.com/event.stopPropagation/ http://api.jquery.com/event.stopPropagation/

复制来自此处的评论以供将来参考:

麦克W: 解决 .live() 事件传播问题。已创建节点 动态地不会收到事件,直到他们的父母已经 收到了。这会导致时髦并停止传播并且 PreventDefault 无法解决此问题。修复:添加行

if(event.target != this){ 返回 true; }

到父节点事件处理程序的顶部。这将阻止 当事件实际上被发送到 a 时,父事件不会被触发 子节点,并且(与 return false 不同)会将事件传播到 预期节点。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何阻止孩子传播由实时/委托侦听器触发的事件? 的相关文章

  • 检测到设备正在振动?

    我使用下面的代码来振动设备 public void vibrator try Vibrator vibrator Vibrator getSystemService Context VIBRATOR SERVICE vibrator vib
  • 如何在 drop 事件 jquery 上获取已删除项目的 id

    当我将某些东西放到 jquery droppable 时 我想获取删除的项目的 id 当我这样做时 here droppable tolerance fit accept one drop function id this attr id
  • 是否可以将对象从 jquery 发布到 Bottle.py?

    这是jquery ajax type POST url posthere dataType json data myDict 1 1 2 2 success function data do code 这是蟒蛇 route posthere
  • 实现悬停信息框

    我有一个日历 当用户将鼠标悬停在单元格上时 会出现一个很大的信息框 其中包含该日期的详细信息 虽然当用户离开时使信息框消失 但我遇到了一些麻烦 我基本上想要它 这样当鼠标光标移出信息框隐藏的日历单元格时 它就会消失 但我遇到了麻烦 因为mo
  • 在 setInterval / setTimeout 中使用变量作为时间[重复]

    这个问题在这里已经有答案了 这是一个示例情况 var count time 1000 setInterval function count 1 time 上面的代码会将 count 变量加 1 即 1000 毫秒 看来 setInterva
  • jQuery 中的 $('') 与 $('')

    我看到人们以两种不同的方式在 jQuery 中创建 HTML 元素
  • 用javascript调用外部网页(跨域)

    我正在尝试使用以下网络服务来验证提要这个问题 https stackoverflow com questions 11996430 check if a url is a valid feed 但浏览器不允许我向另一台服务器发送 ajax
  • 如何保留数组的重复项

    在 Javascript 中 我试图只将重复项保留在数组中 例如我的初始数组是 1 1 2 3 3 3 3 4 5 5 结果应该是 1 3 5 我尝试过使用 indexOf 和 inArray 但无法弄清楚 我知道如何删除重复项 但保留它们
  • 使用 JavaScript 在日期中添加小时和分钟

    我正在根据世界各地的时区构建会议日历 我的问题是如何在 JavaScript 中从用户选择的日期中添加或减去时区 例如 在选择表单上 用户将从表单中选择日期 然后我将获取结果并转换为日期 如下所示 var ldSelectDate new
  • 当所选选项是下拉列表中已选择的选项时如何接收事件?

    动机 我想动态加载一个select使用来自 AJAX 调用的值 并允许用户select加载后列表中的第一项after它获得焦点 现在 第一项是selected项目 当您单击下拉列表并单击第一项时 什么也没有发生 我无法添加任何无效选择的占位
  • 取消html5浏览器中的单图请求

    我正在动态加载 大 图像以绘制到 html5 画布中 如下所示 var t new Image t onload t src http myurl 但每隔一段时间就会想取消图片请求完全地 我想出的唯一方法是设置src to i e t sr
  • 无法将数据加载到 mvc 4 中的 jTable 中

    好的 我第一次尝试 jTable 我可以加载表 但这对我没有什么好处 因为它不会加载我的任何数据 当我调试程序时 我想要的表中的所有行都存储在我的列表中 因此我很困惑为什么当我运行应用程序时会弹出一个对话框 显示 与服务器通信时发生错误 H
  • 为什么点击内容后放大的ajax弹出框会关闭

    请帮助我 我一直在尝试让放大的弹出ajax框显示登录表单 似乎表单出现了 但是一旦我单击表单或ajax主体中的任意位置 它就会消失 下面是代码 document ready function ajax popup link magnific
  • 在网页上的文本框中键入内容时删除所有空格

    我如何在用户打字时即时删除输入到文本框中的空格 function var txt myTextbox var func function txt val txt val replace s g txt keyup func blur fun
  • jquery 验证错误位置

    这看起来很简单 但我无法弄清楚 我正在使用 jquery 验证插件 我验证所有文件 但我想要的是在输入文本行中显示验证消息警报 例如在电子邮件输入中 请填写电子邮件地址 但现在它出现在所有字段下 在我的html中
  • jQuery 选择 # id 以单词为前缀,计数器为后缀

    有没有办法用 jQuery 选择所有带有前缀 my 和后缀 0 9 的 id 像这样的 my 1 4 还是可以用循环来实现 div div div div div div div div div div 第一个想法 似乎效果很好 div i
  • Jquery 中的动态滚动位置

    请帮助我解决以下情况 我有 3 个页面 当滚动到达第二页时 用户滚动页面 它必须找到特定的 ID 然后触发一个函数 一旦第三页开始 另一个函数就会触发 根据要求我不应该使用任何插件
  • 如果链接包含特定文本,jQuery 将类添加到 href

    我的网站上的列表中有一些动态填充的链接 这些链接链接到文件 是否可以使用 jQuery 查看文件名是否以 pdf 结尾 并在 href 或类似的链接文本以 mp3 结尾时添加一个类 例如 我的列表中有以下链接 文件1 pdf 歌曲1 mp3
  • 数据表日期范围过滤器

    如何添加日期范围过滤器 like From To 我开始进行常规搜索和分页等工作 但我不知道如何制作日期范围过滤器 我正在使用数据表 1 10 11 版本 My code var oTable function callFilesTable
  • Jquery - 通过在字符串中构建 id 的 id 获取元素

    我在使用 jquery 元素时遇到问题 我正在 var 中构造名称 例如 var myId myGotId myId attr title changed myId 返回空 我想通过 id 获取我的元素 但动态构建我的 Id 连接字符串 编

随机推荐

  • linkedin 上的 Open Graph 图片问题

    我的项目现在遇到有关 linkedin 共享的问题 图像 缩略图 未显示 我的问题是 网址更改也会影响吗 例如 我添加了这样的 og 标签 https domain name com wp content uploads 2016 10 2
  • 如何更改 Angular 中 mat-dialog 的 Z 索引

    我的应用程序使用多个 mat dialogs 有时可能会同时显示 2 个 这会导致问题 因为第二个永远不会正确显示 而且它的模式使应用程序变得无用 经过更多研究后 我似乎可以通过调整 mat dialog 的 z index cdk ove
  • 如何获取通过SpriteKit编辑器创建的项目的SKSpriteNode?

    我使用 SpriteKit 使用 Objective C 在 XCode 中创建了一个相当简单的 此时是实验性的 游戏 我知道如何手动创建 SKSpriteNode 对象并将其添加到 SKScene 但我有点尝试做相反的事情 我在 XCod
  • Spark.ml 回归计算的模型与 scikit-learn 不同

    我在 scikit learn 和 Spark ml 中设置一个非常简单的逻辑回归问题 结果有所不同 他们学习的模型不同 但我不明白为什么 数据相同 模型类型是相同 正则化相同 毫无疑问 我错过了一侧或另一侧的一些设置 哪个设置 我应该如何
  • Visual Studio C# - 未找到 SQLite.Interop.dll

    我目前正在尝试使用 Visual Studio 创建一个与 SQLite 一起使用的 C 应用程序 我使用 NuGet 为我的程序安装了 SQLite 解决方案资源管理器中出现了三个引用 System Data SQLite System
  • 刷新 Ajax 成功的数据表

    我正在使用数据表和 jquery 对话框 总的来说 我有 3 个表格和 3 个数据表 我的脚本运行良好 但我遇到的问题是在 ajax 保存成功时更新正确的数据表 它甚至不必是正确的对应表 它可以更新 3 个表单保存中任何一个的所有 3 个表
  • 仅当值既不为 null 也不未定义时才调用函数

    单击按钮时 我检查本地存储键中是否存在某些内容 如下所示 var a localStorage getItem foo if typeof a undefined Function 但如果该键根本不存在 则返回 null 我怎样才能打电话如
  • 为什么“Dispose”有效,而不是“using(var db = new DataContext())”?

    我正在创建一个由主题组成的论坛 主题由消息组成 当我尝试在我的控制器中实现主题视图时 public ActionResult Topic int id Topic Id using var db new DataContext var to
  • Flutter可拖动容器:从上到下扩展

    I want to achieve the following example 如您所见 用户必须能够从上到下拖动 开始时 只能看到图像 但是一旦用户从上到下拖动元素 它将显示更多内容 在扩展橙色容器时 它应该高于所有其他绿色元素 我调查过
  • 如何使用 C#、.NET 将文本写入 Word 文件

    我正在尝试使用 C 编写一些文本并将其附加到 Word 文件中 但是 我无法获得预期结果 你能帮我解决这个问题吗 下面是我的代码 using System using System Collections Generic using Sys
  • 自定义部分名称导致 NSFetchedResultsController 崩溃

    我有一个带有 dueDate 属性的托管对象 我没有使用一些丑陋的日期字符串作为 UITableView 的节标题进行显示 而是创建了一个名为 category 的瞬态属性 并将其定义如下 NSString category self wi
  • Scala Dataframe 列的 null 检查

    val new df df filter type interne type interne null 给我错误值 不是字符串的成员 当我使用 适用于过滤器 val new df df filter type interne type in
  • 命名空间中不存在来自 WPFToolkit 的控件

    我添加到引用 WPFToolkit dll 并添加了以下行的 xaml 文件 xmlns toolkit clr namespace Microsoft Windows Controls assembly WpfToolkit 并在以下行之
  • 使用 SendMessage API 检索 ComboBox 计数和项目

    我想得到一个计数和列表ComboBox控制权不属于我 因此我无法修改代码 例如 可以通过使用来控制目标应用程序SendMessage API 但是 如何通过挂钩检索目标控件的整个列表 您可以找到以下列表ComboBox控制消息在这里 MSD
  • PdfKit 高亮注释

    我正在尝试在 iOS 上使用 PDFKit 向文档添加突出显示注释 let highlight PDFAnnotation bounds selection bounds for page forType PDFAnnotationSubt
  • Delphi - 捕获具有当前焦点的窗口/窗体

    我有一个包含大量 MDI 子项 以及非 MDI 表单 的 MDI 应用程序 并且希望跟踪当前激活的表单并始终具有焦点 当用户在应用程序中从一种窗体切换到另一种窗体时 我想捕获窗口激活消息 并在后台将全局变量设置为活动窗体的属性 该属性是从基
  • C# 编译器或 JIT 能否优化 lambda 表达式中的方法调用?

    我在开始讨论后开始这个问题 在评论中 https stackoverflow com a 36438566 81179 关于另一个 StackOverflow 问题 我很想知道答案 考虑以下表达式 var objects RequestOb
  • 如何将 Array.prototype.filter 与异步一起使用?

    背景 我正在尝试过滤对象数组 在过滤之前 我需要将它们转换为某种格式 并且此操作是异步的 const convert gt new Promise resolve gt setTimeout resolve 1000 因此 我的第一次尝试是
  • 如何显示带有深色背景的弹出消息

    我将在我的程序中显示一条错误消息 我希望我的消息如下图所示 如您所见 我需要在弹出消息时显示黑色阴影 我遵循两种解决方案来执行此操作 1 我截取程序的屏幕截图 并将其与黑色混合 有点暗 然后将其附加到面板并显示面板 然后弹出消息表单 它不起
  • 如何阻止孩子传播由实时/委托侦听器触发的事件?

    我有一个委托父级 用于侦听具有特定类别的一组子级中的单击事件 toggle group on click toggle function e 这是 html 的一个例子 div class toggle group a class togg