问题标签 [event-bubbling]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
92 浏览

jquery - 防止加载后冒泡?

我有一个大问题。

我有一个名为“#box”的 div,它在单击其中的链接后加载外部内容:

到目前为止很容易:)

当有人单击“#boxLoaded”中的任何位置时,它会消失并再次加载框,所以它看起来像一开始的样子:

问题是我在加载的文件中有一个名为“box-menu”的菜单(在#boxLoaded 内部),当有人点击它们时 - 上面的代码正在执行(淡出#BoxLoaded 并显示#Box)。

我想防止它发生,但是:

该怎么办?它工作正常,当我不加载()这些文件时......

0 投票
1 回答
820 浏览

jquery - stopPropagation() 没有停止事件冒泡?

jsFiddle

我正在使用一个 jQuery 插件,它允许用户在一个区域中绘制框。我在用户松开鼠标按钮时出现的框中放置了一个下拉列表。问题是,当您尝试单击下拉列表以选择一个选项时,会绘制另一个框。我尝试使用以下代码来停止单击事件冒泡(这在 jsFiddle 中 javascript 文件的底部附近),但它不起作用:

我究竟做错了什么?谢谢阅读。

0 投票
1 回答
262 浏览

javascript - 冒泡由禁用元素触发的事件

问题是:禁用的元素是否应该产生一个将在其父级上触发的事件?

除 IE 之外的所有浏览器都阻止事件被触发,但 IE 不会。这种行为是否记录在案或标准化?哪些浏览器能正确处理上面的代码?

0 投票
1 回答
996 浏览

javascript - 如何在不中断 jQuery 中的底层元素事件的情况下禁用对任何鼠标事件的某些元素反应?

我正在尝试制作一个简单的弹出窗口<div>,旨在在用户拖动鼠标指针时显示鼠标坐标。此弹出窗口出现在鼠标指针右侧的底部。底层 div它自己非常重要的鼠标事件处理程序(例如.mousemove())。弹出窗口div离鼠标指针很远(向下约 16 个像素,向右约 16 个像素)。假设用户正在调整某个对象的大小,并且该弹出窗口正在显示该对象的新大小。如果用户正在缓慢调整对象的大小,这是可以的。但是一旦用户突然调整对象的大小并指向弹出窗口div,底层div失去焦点,并且负责调整大小的事件处理程序被“破坏”(就像鼠标指针“忘记”底层div),因为它根本不是为了与覆盖div-s 合作而设计的。

是否有任何能力抑制任何弹出div鼠标事件,允许底层div事件严格连续进行?

我尝试过这样的事情:

它不像我需要的那样工作。有没有人遇到同样的问题?是否可以绕过它?也许,有一个完整的jQuery插件......困惑......

先感谢您。

0 投票
2 回答
1529 浏览

apache-flex - 如何在 Flex 中使用事件冒泡

嗨其实我想知道什么是冒泡事件以及如何使用它。另外,捕获、定位和冒泡的概念是什么?如果有人知道或可以提供任何示例代码进行解释,那将是有帮助的。

0 投票
2 回答
481 浏览

jquery - 用 jquery 制作我自己的手风琴风格切换

我在 js 中有一个 var,它包含一个点击动作。此操作绑定到几个不同的 div:

js看起来像这样:

上面的代码基本可以工作。如果我单击 div.clickable 它会显示隐藏的内容。如果我单击另一个 div.clickable,它会隐藏我刚刚查看的内容并显示另一个内容。然而问题在于,由于“点击器”内的取消绑定功能,我点击的任何内容都会失去其点击器功能。我这样做是因为隐藏的内容有可点击的东西,而我现在在隐藏内容中点击的任何东西都会再次触发“点击器”。

不使用手风琴插件的更智能的方法是什么?

如何检查 div 是否已绑定到函数,如果没有,重新绑定它或类似的东西?我正在寻找的只是将 div.clickable 重新绑定到“clicker”,一旦它被关闭,即正在查看另一个 div.clickable .hidden。

0 投票
1 回答
1616 浏览

javascript - 如何监听要加载的特定元素?

是否可以监听要加载的特定 DOM 元素?我有一个window.onload在整个页面加载时调用的事件,但我正在寻找一种方法来为每个加载的 DOM 元素调用它。(onload不冒泡?)

例子:

我希望这段代码提醒一、二、三。

0 投票
1 回答
94 浏览

apache-flex - 控制事件传播弹性

您好我有一个小问题:有一个区域包含多个控件。我希望最顶层的控件不会捕获任何事件(或特别是鼠标事件)。更改控件的 z-index 并不好,因为我需要它保持最顶层的控件。有什么建议么 ?

0 投票
0 回答
471 浏览

file - Safari 输入=文件文件选择模式点击冒泡并落在原始 window.document

注意到了这个奇怪的错误。当我尝试选择文件或单击模式中的任意位置时,Safari 的文件选择模式窗口会触发原始窗口“文档”上的“单击”。这破坏了我的功能,因为我有一个上传器放在一个应该在 document.click 上关闭的小弹出窗口中,正如您可以想象的那样 - 当我尝试选择要上传的文件时,这个弹出窗口在 Safari 中关闭。

0 投票
2 回答
1590 浏览

wpf - 防止事件冒泡:WPF 和 Rx

我有一个小的 WPF 应用程序,它在画布上绘制一些点,然后在 mouseDown 发生在任何点内直到画布上的 mouseUp 之后跟踪鼠标移动。我的问题是如何防止点内的 mouseDowns 冒泡到画布上。我希望画布 mouseDown 观察者在且仅当 mouseDowns 发生在点时触发,并且当且仅当 mouseDowns 发生在点内时触发点 mouseDown 观察者。

这是我构建可观察链的技术,表明如果 DownInAndTrackWrtObservable 的第三个参数为真,我在触发 mouseDown 事件中设置了 EventArgs.Handled 属性:

然后,我在两个地方设置了处理程序,一个跟踪点击和点并在画布中拖动

问题是,当点中发生 mouseDown 时,仍然会检测到 Canvas mouseDown,如第二个处理程序所示。但我不希望因为设置 Event.Handled 属性而发生这种情况。顺便说一句,如果我在 hitObs 而不是 trackObs 上设置 Event.Handled,那么在点内根本不会检测到命中。这是完整的应用程序及其 XAML(请“添加引用”到 System.coreex、System.Reactive 和 System.Interactive)

和 XAML

将不胜感激任何建议