将事件附加到具有特定类的所有元素

时间:2018-10-01 19:02:55

标签: css angular events angular5 angular6

我想在我的组件中附加一个事件列表器,该事件列表器将为具有特定类的所有元素触发。

这些是由第三方组件生成的,因此我无法在创建它们时附加它。

我想有效地做以下jquery语句的等效项,但是以.day为类的角。

$(document).on('mousedown','.day',function(jsEvent){ 

});

谢谢

1 个答案:

答案 0 :(得分:1)

您可以使用Directive来附加侦听器:

import { Directive, HostListener } from '@angular/core';

@Directive({
  selector: '.day'
})
export class DayDirective {

    @HostListener('mousedown', ['$event'])
    yourFunction(event: Event): void { ... }

}

要连接该指令,请将其添加到需要它的模块中。这可能是您的应用程序模块,共享模块或功能模块。

import { NgModule } from '@angular/core';

@NgModule({
  declarations: [
    DayDirective,
  ],
  ...
})
export class YourModule {}