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

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

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

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

});


谢谢

最佳答案

您可以使用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 {}

关于css - 将事件附加到具有特定类的所有元素,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52597323/

10-09 06:27