停止鼠标事件传播。

6 浏览
0 Comments

停止鼠标事件传播。

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

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

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

admin 更改状态以发布 2023年5月23日
0
0 Comments

最简单的方法是在事件处理程序上调用停止传播。在Angular 2中,$event的作用相同,包含正在进行的事件(例如鼠标单击、鼠标事件等):

(click)="onEvent($event)"

在事件处理程序中,我们可以停止传播:

onEvent(event) {
   event.stopPropagation();
}

0
0 Comments

如果您想要添加此代码到任何元素,而不必反复复制/粘贴相同的代码,您可以创建一个指令来实现此功能。它非常简单,就像下面这样:\n

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

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

Stop Propagation

0