Jquery 事件冒泡和捕获的常见实用示例?

Jquery 事件冒泡和捕获的常见实用示例?,jquery,event-handling,event-bubbling,event-capturing,Jquery,Event Handling,Event Bubbling,Event Capturing,有人能在jQuery/javascript中提供实际的、日常的事件冒泡和事件捕获示例吗?我看到了各种各样的例子来演示这些概念,但它们看起来总是像是你在常规web应用程序中根本不需要的东西 非常感谢您的描述和代码片段。实际事件冒泡 无论是否使用jQuery(请记住,您可以在不使用库的情况下处理冒泡事件),都有许多场景需要对代码进行结构化以利用冒泡 举个例子:假设您有一个动态创建元素的页面,但您希望处理对这些元素的单击。不能在事件处理程序存在之前将其直接绑定到它们,但是在创建它们时将单个处理程序绑定

有人能在jQuery/javascript中提供实际的、日常的事件冒泡和事件捕获示例吗?我看到了各种各样的例子来演示这些概念,但它们看起来总是像是你在常规web应用程序中根本不需要的东西


非常感谢您的描述和代码片段。

实际事件冒泡

无论是否使用jQuery(请记住,您可以在不使用库的情况下处理冒泡事件),都有许多场景需要对代码进行结构化以利用冒泡

举个例子:假设您有一个动态创建元素的页面,但您希望处理对这些元素的单击。不能在事件处理程序存在之前将其直接绑定到它们,但是在创建它们时将单个处理程序绑定到它们有点麻烦。相反,将事件处理程序绑定到容器对象:单击事件将从单个元素冒泡到容器,但您仍然可以知道单击了哪个元素-如果您使用了
.on()
,或
.delegate()
(甚至
.live()的适当语法,jQuery将使这一过程变得简单
如果您有一个非常旧的jQuery版本),因为它将
设置为单击的元素

<div id="someContainer"></div>

$("#someContainer").on("click", ".dynamicElement", function() {
    // this is the element, do something with it
});

$(“#someContainer”)。在(“单击”,“.dynamicElement”,function()上{
//这就是元素,用它做点什么
});

这意味着,单击类为“dynamicElement”的元素(该类是“someContainer”div的子元素)时,可以执行一些操作。无论“dynamicElement”元素是否存在于页面加载时,是否在稍后响应其他用户操作时添加,或者是否使用Ajax加载,它都将起作用。

我将图像动态添加到div中,我计划使用事件冒泡来捕获包含div中的onload事件。

谢谢nnnnnn,我经常使用你提到的例子。我想知道你是否也可以分享其他的?谢谢我想注册一个监听器比注册多个监听器效率更高。
onload
就是要知道图像何时真正呈现在屏幕上?你能提供一个代码片段吗?没错,它是在渲染后出现的,所以你可以设置display='inline'来显示图像。这将规范化用户在图像下载之前看到的内容(而不是浏览器用户看到的可爱的小图像)。对不起,还没有片段。-@pure_代码,您能解释一下为什么您的示例符合事件冒泡的条件吗?我想更新你的答案,但首先要确保它对未来的访问者足够有用……这是一种一对多的关系,我有许多图像,当事件发生时,会(内部)将他们的事件发送到包含的div(甚至更高),div将充当捕捉“泡沫”的瓶颈并使用事件参数中的信息进行操作。