嵌套 jquery 选择器触发父级和子级特定事件

2024-01-11

我有一个具有以下结构的表

  • 表#主
    • tbody
      • tr.Row
        • td
          • 输入.EditRow

我的 jquery 看起来像这样:

        $("table#Main > tbody > tr.Row").live("click", function (e) {
            RowClick($(this));
        });

        $(".EditRow").live("click", function (e) {
            EditRow($(this));
        });

我的问题是,如果我单击 .EditRow 按钮并调用 EditRow 函数,则会立即调用 RowClick 函数。

在对该网站进行一些研究后,我发现其他人通过使用以下命令之一解决了这个问题。

e.preventDefault();
e.stopPropagation();

我以不同的组合尝试了这两个功能,但无法弄清楚。有人可以告诉我我做错了什么吗?

谢谢你!


Update:正如@patrick 在他的评论中所展示的那样,event.stopPropagation()应该从jQuery 1.4.3 on.


对于 jQuery 1.4.2 及以下版本:

问题是两个事件处理程序都绑定到 DOM 树的根,因为.live() http://api.jquery.com/live/:

处理程序传递给.live()永远不会绑定到元素;反而,.live()将一个特殊的处理程序绑定到 DOM 树的根。

So event.stopPropagation http://api.jquery.com/event.stopPropagation/不再有效(两个事件处理程序都是同一级别):

自从.live()方法处理事件,一旦它们传播到文档顶部,就不可能停止实时事件的传播。

Use event.stopImmediatePropagation http://api.jquery.com/event.stopImmediatePropagation/相反,并反转绑定事件处理程序的顺序(否则它将无法工作,因为事件处理程序按照它们绑定的顺序调用):

$(".EditRow").live("click", function (e) {
    e.stopImmediatePropagation();
    EditRow($(this));
});

$("table#Main > tbody > tr.Row").live("click", function (e) {
    RowClick($(this));
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

嵌套 jquery 选择器触发父级和子级特定事件 的相关文章

  • Django Ajax ModelForm 向 request.POST 提交一个空表单

    对于 django ajax 和 jquery 我是个新手 所以如果我的问题显得微不足道 我提前道歉 我已经在这个问题上摸不着头脑有一段时间了 但我正在尝试使用 ajax 和 jquery 通过 jQuery UI 提供的模式对话框窗口提交
  • Javascript 作为对象键的函数与块中标记函数之间的语法冲突

    假设您有一个支持两者的浏览器带标签的函数声明 https developer mozilla org en US docs Web JavaScript Reference Statements label Labeled function
  • 使用 jQuery inputmask 插件范围 0-100

    如何创建 0 到 100 范围内的掩码 document ready function masked inputmask 您可以使用jquery inputmask regex extensions js为了那个原因 你可以找到带有所有扩展
  • 我可以在 GWT 中使用第三方 Javascript 库吗

    例如穆工具 用 js 编码对我来说很舒服 但显然不适合所有人 你当然可以 最好的事情就是给自己写一些好看的JavaScript 覆盖类型 http code google com webtoolkit doc latest DevGuide
  • Apache Thrift Java-Javascript 通信

    我正在编写一个基于 Apache Thrift 的 Java 服务器 它将从 Javascript 客户端接收数据 我已经完成了 Java 服务器 但问题是我可以获得 Javascript 客户端的工作示例 我无法找到一个好的示例 构建文档
  • Razor mvc3 + jquery + Url 操作 + 部分视图

    我有一个关于 jQuery Razor 的问题 我想使用 razor 和 Url Action 构建一个 javascript 变量 并且 html 属性将是输入的值 像这样 var d1 d1 val var d2 d2 val var
  • 检查用户设备的 GPS 是否开启

    我正在使用 jQuery Mobile 和 PHP 开发一个应用程序 我没有使用 Phonegap 或其他框架 我需要找到用户的geolocation 如果用户设备的 GPS 关闭 那么我无法获取位置 现在我需要查找用户设备的 GPS 是否
  • websockets 如何处理同一浏览器的两个选项卡

    I have 1 个 PHP 服务器 提供 http 请求 和 1 node js 发布更新的数据消息 每个连接都带有 websocket php 服务器设置其 cookie 在一个浏览器中 此 cookie 可在所有选项卡中使用 当浏览器
  • 使用javascript以编程方式触发iOS safari中的复制菜单?

    我正在尝试实现一种用户友好的方式 将一些文本从文本输入字段复制到 iOS Safari 上的剪贴板 我知道无法在这个平台上以编程方式完成此操作 但我希望能够尽可能地指导用户体验 在 iOS Safari 上 当用户手动突出显示某些文本时 会
  • 如何显示接下来的三个图像单击加载更多按钮

    我需要一个加载更多按钮来显示图像 页面加载时 我显示 3 个图像 单击 加载更多 按钮后 接下来的 3 个图像将显示在屏幕上 我尝试了下面的代码 但它不起作用 你能帮我解决这个问题吗 function item slice 0 2 show
  • .removeClass 从所有元素(相对于单个定义的元素)

    我将如何使用 removeClass 删除所有匹配的类 而不是单独调用每个元素 所以代替这个 input removeClass CO form alert select removeClass CO form alert input se
  • AngularJS + jQuery 移动

    是否还有其他可能性来设计AngularJS以移动友好的方式应用程序CSS 我正在计划一个移动应用程序 并希望使用 AngularJS 进行逻辑和数据绑定 但我不想自己设计所有内容CSS The AngularJSFAQ说它使用jQuery
  • 从链接打开本地文件夹

    如何通过单击任何链接打开本地文件夹视图 我尝试了很多选择 例如 a href Open folder a or a Open folder a or a Open folder a 解决方案 启动可下载链接 以下内容适用于所有浏览器 但一如
  • 如何在React中动态分配属性?

    这是一个有两个参数的函数 我要创建的标签的名称 具有以下属性的对象 Using React 我创建一个组件并将该元素渲染到 DOM 问题是我想向元素添加属性 但它不允许循环在元素内设置属性 var Element function elem
  • 如何从 CSS 选择器中提取类名?

    故事 我目前正在构建一个 ESLint 规则 以警告在 CSS 选择器定位器中使用引导布局导向和角度技术类 目前我在字符串方法中使用简单的子字符串 for var i 0 i lt prohibitedClasses length i if
  • 从网页运行 ClickOnce 应用程序,无需用户操作

    我们有一个基于 Java 的 Web 应用程序以及用 C 编写的相同应用程序 如果 java 检查器发现客户端计算机上没有安装 Java 则应该运行该应用程序 这个想法是运行 C 单击一次 http en wikipedia org wik
  • 如何跨多个文件跨越 javascript 命名空间?

    我永远忽略了javascript 几年前我开始使用 jQuery 这样我就可以过得去 但随着我开始更多地进行 TDD 我昨天决定真正深入研究 javascript 之后可能还有咖啡脚本 在我的 ASP NET Web 窗体应用程序中 我有很
  • Vue - 调度完成后调用 store getter?

    我正在使用 Laravel 5 7 Vue2 Vuex 我在调度调用完成后让 Vue 返回存储值时遇到一些困难 我的申请流程如下 我单击一个提交按钮 该按钮调用组件上的 validate Validate 分派到我的 addLease 操作
  • 将引导程序弹出框保留在视口内

    我正在尝试使用带有按钮的侧边栏创建一个菜单 每个按钮都有一个指定的包含相关数据的弹出窗口 不幸的是 其中一个弹出窗口可能包含任意数量的行 并且在某些情况下它可能部分位于视口之外 See http jsfiddle net bfd9f 1 h
  • Cycle2 初始化事件未触发

    我使用 Cycle2 作为基本的轮播 我的幻灯片项目有时在其数据中包含一个 url 因此我必须使用 Cycle2 api 事件来使用该 url 当它存在时 我的问题是 虽然 cycle after 事件触发正常 但初始化事件都不会触发 因此

随机推荐

  • 当我提取一个对象字段时,为什么 lodash 的 _.unique 不返回唯一对象?

    我正在使用lodash的 unique http lodash com docs uniq并且它没有按预期工作 我正在这样做 uniqueByFocusIndex unique clickables false focusIndex 正如您
  • 无法使用 Selenium 和 Python 在 #shadow-root (open) 中找到登录元素

    我正在尝试使用 selenium 来自动执行某些操作 但无法找到页面上的第一个元素https developer servicenow com dev do https developer servicenow com dev do所以无法
  • 找到每组内的最大值和最小值[重复]

    这个问题在这里已经有答案了 我想在下表中找到每个基因的最大值和最小值 我知道 以下函数给出了最大值 或最小值 但我无法同时获得两者 tapply df Value df Gene max 欣赏 小测试集 df lt read table h
  • Spark fillNa 不替换 null 值

    我有以下数据集 它包含一些空值 需要使用 Spark 中的 fillna 替换空值 数据框 df spark read format com databricks spark csv option header true load sam
  • Android 模拟器以不同的分辨率启动

    有时我的 AVD 启动时的分辨率比预期的要高 我在运行它之前不会修改任何设置 此外 重新启动时 它会以正确的分辨率启动 虽然并不重要 但有时确实会浪费时间 我不确定为什么会这样 但我只是在启动之前编辑了详细信息并启用了从快照选项启动 这确实
  • 用于值类型 int 的 ASP.NET MVC 2 编辑器模板

    我想为值类型 即 int 创建一个 MVC 2 编辑器模板 有人用预览 1 位完成此操作吗 非常感谢 当您在回发时提交值时 尼克 克拉克的答案会起作用吗 在 MVC2 预览版 2 中 调用 Html Textbox abc Model To
  • Rails 控制器中的 Process.fork

    我们正在对一个新应用程序进行一些原型设计 并注意到其中一个操作需要很长时间才能加载 80 120 秒 由于很多处理不需要在页面加载时进行 我们可以稍后通过 Ajax 请求数据 我想到使用Process fork允许页面立即返回 而处理仍在
  • 如何更改 iPhone 中文本字段的背景颜色?

    我想将文本字段的背景颜色更改为透明的颜色 我努力了 option5btn backgroundColor UIColor grayColor 但我想要一些其他颜色 谁能告诉我 iPhone 文本字段的背景中可以使用哪些所有颜色 谁能帮我这个
  • 数组上的 MongoDB 地理空间索引(多键 + 地理空间)

    这是我的数据的简化版本 gt db foo insert name jim locations 10 10 3 6 1 2 gt db foo insert name john locations 1 5 2 4 我希望能够做类似的事情 g
  • 不需要公司名称 WooCommerce(第 3 方插件)

    我想让 WooCommerce 中不需要计费公司和运输公司 由于某种原因 我使用的代码适用于除公司部分之外的所有内容 事实证明 第三方插件需要公司名称 以下是该插件的完整代码
  • MongoDB 中的 UpdateMany 使用 $inc 运行两次

    感谢我在上一个问题中得到的帮助 使用文档中的值更新许多 mongodb 文档 https stackoverflow com questions 63530102 updatemany mongodb documents with valu
  • 聚合和聚合根的混淆

    我被分配了一个非常简单的项目作为考试 我有想法使用领域驱动设计来开发它 你们中的许多人可能会说该应用程序非常简单 使用存储库和 UoW 只是浪费时间 您可能是对的 但我认为这是一个学习更多东西的机会 该应用程序是一个 机票 系统 从下图中您
  • 视差部分初始背景位置与页面滚动时不一致

    我花了一整天的时间尝试创建一个视差部分 无论它放在页面上的哪个位置 它都能正常工作 但我对代码所做的每一次更改都会解决一个问题并产生另一个问题 到目前为止 这是我的代码 function use strict parallax sectio
  • 如何在 antd select 上添加分页?因为从接口获取数据是巨大的。所以我想实现分页

    如何在 Antd 的 Select 上添加分页 因为从接口获取数据是巨大的 所以我想实现分页 但文档api不支持 import Select from antd const Option Select Option let province
  • 使用地理定位和 Google 地图 API [帮助]

    我是移动开发领域的新手 现在我正在构建一个使用 jQuery mobile 和 PhoneGap 的应用程序 这是我的逻辑 我有一个包含用户及其地址的表 我获取用户地址并通过地图 API 传递它以捕获位置 但我对每条记录都这样做 有时 AP
  • Firestore Web 代码示例给出了无效的参数类型

    我正在尝试 Firebase 的新 Firestore 当我运行代码示例时https firebase google com docs firestore manage data add data authuser 0 https fire
  • css在表单中浮动2个输入字段

    我在理解 css 时遇到以下问题 我有一张登记表 在这种形式中 我使用字段集 现在我想在每行旁边放置两个输入字段 上面的每个字段还应该有一个标签 所以我想要实现的是 label 1 label 2 label 3 label 4
  • Intellij 自动构建 - 不存在

    如果我删除一个方法 则在我手动构建项目之前 不会显示错误 由于不存在方法而在代码中的其他位置 有没有办法让它在保存 更改时自动构建 我在某个地方缺少一个选项吗 你可以尝试理念 12 EAP http confluence jetbrains
  • TFLite 的硬刷操作

    我有一个用 Tensorflow Keras 编写的自定义神经网络 并应用 Hard swish 函数作为激活 如 MobileNetV3 论文中使用的那样 执行 def swish x return x tf nn relu6 x 3 6
  • 嵌套 jquery 选择器触发父级和子级特定事件

    我有一个具有以下结构的表 表 主 tbody tr Row td 输入 EditRow 我的 jquery 看起来像这样 table Main gt tbody gt tr Row live click function e RowClic