javascript - event.stopPropagation 停止实时事件的传播,尽管它不应该

标签 javascript jquery events live

文档指出 event.stopPropagation 不应停止实时事件的传播 ( http://api.jquery.com/event.stopPropagation )。然而,它对我来说恰恰相反。试试这个:http://jsfiddle.net/PSYg8 。单击红色 Div 应触发附加到 html 元素的实时事件。

最佳答案

文档告诉您的是不可能调用 stopPropagation 来自 live处理程序。

因为 jQuery 实现了 live通过监听传播到<html>的所有事件来事件元素,然后查看触发元素是否与原始选择器匹配,停止元素上常规事件处理程序的传播可防止事件到达 live处理程序。

编辑:如果您不清楚 DOM 事件和事件传播的工作原理,QuirksMode has a wonderful analysis of the capturing and bubbling models ,微软有一个 great page that lets you visualize how event propagation works在 W3C、经典和 IE 模型中。

关于javascript - event.stopPropagation 停止实时事件的传播,尽管它不应该,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6748568/

相关文章:

javascript - 为什么 JS 似乎在结束 &lt;/script&gt; 标签之前清空微任务队列?

javascript - 如何在特定时间将菜单滑开?

javascript - HTML5 Canvas 将圆弧分成7等份并旋转

javascript - 是否有使用 jQuery 设置元素类的首选方法

asp.net-mvc-2 - JQuery 验证的远程验证规则失败(使用 MVC 2)

javascript - iPhone - JavaScript 事件...用于 Three.js

jquery - JQGrid : deselect event

javascript - 如何从 Zebra mc330m 扫描仪在 javascript 中捕获窗口上文档[按键] 上的输入?

javascript - 将复选框添加到grails列表中

jquery - 打印屏幕问题