jquery动态绑定.on()选择父母还是孩子?

2023-12-14

例如,

$( "#dataTable tbody tr" ).on( "click", function() {
  alert( $( this ).text() );
});

$( "#dataTable tbody" ).on( "click", "tr", function() {
  alert( $( this ).text() );
});

.on() 将“tr”与单击事件处理程序绑定。 第一个选择子项并直接注册单击事件处理程序。 第二个选择父级“tbody”,并选择子级“tr”作为参数。

它们都是动态绑定吗? 它们有同样的效果吗? 这两者有什么区别?


不,只有第二个版本是动态绑定的。

应该很容易理解。当你有如下代码时:

$(selector).method(arguments);

jQuery 查找所有匹配的元素selector在执行代码时,并调用method那时的他们。如果在页面首次加载时执行此代码,它将仅查找与初始文档中的选择器匹配的元素。如果tr元素是动态添加的,第一个版本不会找到它们,因此不会将单击事件绑定到它们。

当你使用.on()使用选择器作为第二个参数,例如

$(outerSelector).on(event, innerSelector, function...);

它的工作原理如下。它找到所有匹配的元素outerSelector,并将事件的处理程序绑定到它们;当您调用时这些元素必须存在.on()。当事件发生时,处理程序检查目标是否匹配innerSelector,然后它执行您的回调函数。这就是它允许事件在动态添加的元素上工作的方式。

所以一般规则是outerSelector应该引用文档中的静态元素,而innerSelector指动态元素。

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

jquery动态绑定.on()选择父母还是孩子? 的相关文章

随机推荐

  • 如何像 iOS 7 iPad App Store 那样同时翻转和放大 UIView?

    当您点击应用程序图标时 iPad iOS 7 App Store 有一个非常酷的动画 当图标较小时 来自特色列表 而不是搜索结果 这是它的实际操作图片 基本上 图标会同时翻转并扩大尺寸 后面有渐变 内容视图更小 到目前为止 我有一个自定义的
  • 如何在运行时更改JTabbedPane的背景颜色?

    我发现了很多改变背景颜色的例子JTabbedPane使用任一setBackgroundAt and UIManager put JTabbedPane 但是 我想创建一个onclick复选框上的事件 当您选择它时 背景颜色将更改为绿色 当您
  • Polars 将 array[string] 列聚合到 set[str] 中

    我有极地数据框 df pl DataFrame col1 aaa aaa bbb ccc ccc ddd ddd ddd ddd ddd col2 a a a a col3 x x y y 我想将 col2 col3 分组并将 col1 聚
  • Javascript从亚马逊s3存储桶下载文件?

    我试图从 Amazon S3 上的存储桶下载文件 我想知道是否可以编写一个 JavaScript 来从存储桶下载这样的文件 我在谷歌上搜索 但找不到任何可以帮助我做到这一点的资源 需要考虑的一些步骤是 对 Amazon S3 进行身份验证
  • 如何从命令行检查特定的 Subversion 修订版?

    我想签出文件夹的特定版本颠覆使用命令行 我没有看到用于指定修订号的选项TortoiseProc exe TortoiseProc exe command checkout
  • 如何更改 Android 中的代理设置(尤其是 Chrome)[关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 您能帮我一下吗 是否可以在 Android 中设置代理设置 尤其是在 Chrome 中 我在测试期间必须更改 Android 上的 IP 或者有什么软件可以帮助我解决这个问题 找到了
  • 如何连接mysql和Basex?

    我有一个使用 Mysql 作为数据库的应用程序 它使用了大量的 XML HTML 我想在 BaseX 中处理 mysql 数据并通过它更新数据库 有没有简单的方法连接数据库 我检查了http docs basex org wiki SQL但
  • HTTP.sys 请求队列和 IIS 应用程序池之间的关系

    我从中读到了这篇文章 HTTP sys 为每个工作进程维护一个请求队列 它将 HTTP 请求发送到工作进程的请求队列 该工作进程为所请求的应用程序所在的应用程序池提供服务 对于每个应用程序 HTTP sys 维护具有一个条目的 URI 命名
  • Javascript读取大文件失败

    JSON 文件大小为 6 GB 当用下面的代码读取时 var fs require fs var contents fs readFileSync large file txt toString 它有以下错误 buffer js 182 t
  • 如何用新行显示阅读提示

    我在用着read内置来读取变量 但我想让输入出现在下一行 即提示符输出一个新行 但两者都不起作用 read p Please input n name Please input n read p Please input n name Pl
  • java:如何使用 .txt 中的数据创建多个数组

    所以这是我必须编写的第一个真正的java程序 我对java也很陌生 该程序必须使用 2 个命令行参数运行 这些参数假定为 x 和 y 坐标 然后确定坐标所在的市和县 为此 我想使用 绕数 但是在开始程序的这些部分之前 我首先需要创建并填充不
  • 如何在 solr4 中对存储在其他服务器上的 XML 文件建立索引

    我将所有 XML 文件存储到另一台服务器上 并且我已在不同服务器上安装和配置 SOLR 我如何将这些 XML 文件索引到 SOLR 我已经检查过 nutch 但它的主要目的是抓取 html 页面并为其建立索引 我不需要爬行 我将所有这些文件
  • 使用 dplyr 对多列求和时忽略 NA

    我正在对多列进行求和 其中一些列不适用 我在用 dplyr mutate 然后写出各列的算术和以获得总和 但这些列有 NA 我想将它们视为零 我能够让它与 rowSums 一起使用 见下文 但现在使用 mutate 使用 mutate 可以
  • 在使用 Python 的 matplotlib 制作动画期间,第一组(散点)绘图数据保留在图表上

    我正在尝试为图表上的一条线和 3 个散点制作动画 除了图表上的第一组散点没有被删除之外 一切似乎都正常 这是代码 您可以尝试将 n 设置为 1 2 或 3 import numpy as np from math import from p
  • 当前可用的最好的 Ajax 历史记录和书签插件 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 似乎每个 Ajax 历史记
  • 如何为 Apache-CXF JAX-WS 启用 Spring Security

    如何在 Apache CXF 上为 apache JAX WS 启用 Spring Security 网络上的示例包括 Jax RS 示例 但我不使用 Jax RS 我不想使用 cxf 的安全性 如何在我的代码中实现它 两种可能的方式 Pu
  • gitignore 没有扩展名的二进制文件

    如何在中忽略二进制文件git使用 gitignore file 例子 g hello c o hello hello 文件是一个二进制文件 能git忽略这个文件 Ignore all Unignore all with extensions
  • Excel VBA 强制关闭 IE

    我目前正在使用以下子程序在自动化后关闭我的 IE Public Sub CloseIE Dim Shell As Object Dim IE As Object Set Shell CreateObject Shell Applicatio
  • 运算符重载中的类数据封装(私有数据)

    下面是代码 代码 访问说明符适用于类级别 而不是实例级别 因此Rational类可以查看任何其他类的私有数据成员Rational实例 自从你的Rational operator 是一个成员函数 它可以访问它的私有数据Rational争论 注
  • jquery动态绑定.on()选择父母还是孩子?

    例如 dataTable tbody tr on click function alert this text dataTable tbody on click tr function alert this text on 将 tr 与单击