angular - 停止鼠标事件传播

标签 angular dom-events event-propagation

在 Angular 中停止鼠标事件传播的最简单方法是什么?

我应该传递特殊的 $event 对象并自己调用 stopPropagation() 还是有其他方法。

例如在 Meteor 中,我可以简单地从事件处理程序返回 false

最佳答案

如果您希望能够将此添加到任何元素而不必一遍又一遍地复制/粘贴相同的代码,您可以制定一个指令来执行此操作。就这么简单:

import {Directive, HostListener} from "@angular/core";
    
@Directive({
    selector: "[click-stop-propagation]"
})
export class ClickStopPropagation
{
    @HostListener("click", ["$event"])
    public onClick(event: any): void
    {
        event.stopPropagation();
    }
}

然后只需将它添加到您想要它的元素上:

<div click-stop-propagation>Stop Propagation</div>

关于angular - 停止鼠标事件传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35274028/

相关文章:

javascript - 通过在弹出窗口外单击来隐藏弹出窗口

reactjs - 如何防止单击时嵌套 React 组件中的事件冒泡?

javascript - postcss-preset-env : end value has mixed support, 考虑改用 flex-end

javascript - react JS : onPaste not working as expected

javascript - 以相同方式处理所有http错误

javascript - 有人使用 yui logger 来跟踪 yui 事件吗?有没有办法过滤它?

javascript - 未捕获的类型错误 : xyz is not a function (when calling it from inside string)

javascript - 继续传播

javascript - 如何将数组键索引映射到下拉列表表单控件中的其他键名称?

angular - '找到合成属性@panelState。请在您的申请中包含 "BrowserAnimationsModule"或 "NoopAnimationsModule"。