javascript - 如果也触发了节点事件,则取消窗口事件

标签 javascript html event-handling mouseevent dom-events

我有一种情况,我必须将 'onmouseup' 事件附加到窗口。单击向上应该在屏幕上的任何地方运行一个函数,除了在节点上单击时。在该特定节点上还有另一个 'onmouseup' 事件处理程序,因此目前我可以运行这两个函数或只运行一个窗口(通过调用 stopPropagation)。

我需要取消附加到窗口的事件并改为在节点上运行该事件。

最佳答案

window.onmouseup = (e) => console.log('window mouseup');

nestedMouseUp = (e) => {
  console.log('nestedMouseUp');
  e.stopPropagation();
}
.a {
  background: blue;
  width: 100px;
  height: 100px;
}

.b {
  background: pink;
}
<div class="a" >
  wrapper
  <div class="b" onmouseup="nestedMouseUp(event)">
  nested
  </div>
</div>

关于javascript - 如果也触发了节点事件,则取消窗口事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54990842/

相关文章:

javascript - 警报对话框不适用于按钮单击功能 jquery

javascript - NOOB自定义模块事件

javascript - 在 javascript 中解析 {{1,2},{3,4}},{{1.1,1.2},{1.0, 1.0}, {1.3,1.3}}

html - 如何使用 css 缩放图像以填充保持纵横比的 div?

Android - 是否可以在没有输入字段和打开软键盘的情况下拦截输入事件?

javascript - Promise.resolve().then 稍后如何执行?

javascript - 在html中显示来自nodejs的数据

javascript - 内容="IE=7; IE=9"和内容="IE=7, IE=9"有什么区别

javascript - 获取所有 DOM 事件的数组

c# - 了解 C# 中的事件和事件处理程序