问题标签 [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.
javascript - Javascript 事件冒泡未按预期工作
做噩梦试图弄清楚事件冒泡..
据我了解,单击红色边框内的区域应触发所有 3 个事件处理程序(红色、蓝色和正文),仅触发红色和正文。
我试过改变第三个值addEventListener
并改变返回值但无济于事,有什么想法吗?
apache-flex - flex 自定义事件冒泡
亲爱的 Richard Szalay,
我浏览了你关于冒泡的答案,我想更多地探索冒泡。请在下面查看我的示例
在我的自定义事件类中,我设置了 bubbling=true,cancelable=true
从之前的回答中我可以理解,冒泡只会影响 UI 组件;即使气泡参数设置为 true,从自定义类触发的事件也不会冒泡。
我的问题是当我单击“加载”(自定义组件)中的按钮时,如何防止 panelClickHandler 函数被触发?
请用很好的例子解释冒泡(比如自定义事件类)?
javascript - 捕获事件和冒泡事件之间的区别
请告诉我黑白的区别
捕获和冒泡事件。
jquery - JQuery Validation Plugin:防止嵌套表单上的验证问题
我有一个使用验证的表单。此表格有一个用于上传照片的部分。最初,本节包含六个元素,代码如下:
我已经将一个函数绑定到photo_upload
. 此函数使用以下代码将图像替换为最小形式:复制代码
因此,基本上,在单击图像后,我将在我的原始验证表单中嵌套一个新表单。现在,当我使用这个新表单并上传图片时,我收到一个错误(重复三遍)说:
这里发生了什么?我的猜测是这个
- 将事件气泡提交到外部表单
- 由于我们对该表单进行了验证,因此触发了验证,
- 验证试图找到触发它的表单,
- 由于我们没有将验证绑定到内部表单,因此它返回“未定义”
现在,我的评估是否正确?不管是不是,我该如何解决这个问题?
javascript - 在父元素上捕获事件
当点击发生时,window.event 报告树中的最低元素。例如
当您点击上面的链接并且如果您在 BODY 级别有 onclick 列表时,window.event 将报告“强”元素被点击。在同一事件中,我怎么知道父级实际上是一个“锚”标签,其 href 指向某处?即我正在寻找一种自动方式让我知道主要元素是“锚”而不是“强”元素。我显然不能做 window.event.target.parentNode.parentNode 因为这将是手动检查。可能在某个地方我可以跟随点击事件的“冒泡”。
任何人有任何线索?
javascript - JavaScript 异常/错误处理不起作用
这可能有点难以理解。
我在对象中有一个函数:
在它调用的 try 块内:
LocalStorageManager.addImage 调用:
如果使用了过多的本地存储,localStorage.setItem 会引发错误。我想在 f_openFRHandler (第一个代码示例)中捕获该错误,但它被发送到错误控制台而不是 catch 块。我在我的 Firebug 控制台中尝试了以下代码,以确保我没有发疯,并且尽管有许多级别的函数嵌套,但它仍按预期工作:
有任何想法吗?
jquery - 为什么一本书说 DOM 事件流既有捕获又有冒泡?那么事件不会发生两次吗?
Zakas 的《Professional Javascript》一书说
1) IE 使用事件冒泡
2) Netscape 使用事件捕获
3) DOM 事件流是先捕获然后冒泡
那么,事件处理程序不会被调用两次吗?这是什么 DOM 事件流,是 DOM 2 级事件处理吗?
据我了解,以下是否属实?
a) IE 6、7、8 都使用冒泡
b) FF、Chrome、Safari、Opera 都使用捕获?
c) jQuery 通过使其“冒泡”使一切都变得相同
jquery - 在“链接”(或 div)以及父元素或祖先元素处监听事件的好例子是什么?
大多数时候,我看到代码为链接或 div 或按钮注册事件侦听器,并从那里处理所有事情。但是事件捕获和冒泡可以很好地处理后代级别的事件,然后是祖先级别的事件。但是,我们希望在 2 个不同的地方聆听的好例子是什么?
wpf - WPF如何将事件传递给兄弟元素
我已经阅读了Button.MouseDown的帖子 ,接着我想再问 1 个问题。我的 XAML 如下:
我的cs如下:
如何将鼠标向上/向下事件从 C3 传输到 C33?基本上,我希望 1 个兄弟姐妹的所有事件也能传递给其他人。
javascript - 即使在调用 jQuery 的 stopPropagation() 之后,单击事件处理程序也会无意中冒泡
我正在尝试为列表中“li”元素中的不同元素设置不同的委托单击处理程序。例子:
当用户单击 button1 (任何项目)时,我想获取该事件并停止传播(对于 button2 实例也是如此)。单击父 li 元素的用户将是一个不同的处理程序:
所以一个问题是,我如何为 button1 实例设置一个委托,而另一个用于 button2 实例?上例中的第二个委托在单击按钮时会触发,但 event.stopPropagation() 似乎无法正常工作,因为父 li 项的处理程序仍会被调用,
- - - 更新 - - - - - - -
还尝试调用 event.stopImmediatePropagation(),但没有效果,父处理程序仍然被调用。
谢谢