在Angular中,如何在指令中实现button:focus大纲:none
In Angular, how to implement button:focus outline: none in a directive
在我的 css 文件中,我为我的按钮制作了大纲:none。
.my-btn:focus {
outline: none;
}
现在我想为我的按钮创建一个指令,它也将执行此操作。这样的指令怎么写?
提前致谢。
您可以创建指令并根据您的要求在 focus/fousin 上设置 @HostListener
@HostListener('focus')
并使用 ElementRef 设置 nativeElement.style.outline = none;
- 使用
ng g d unfocus-btn
创建自定义指令
- 在UnfocusButtonDirective.ts中写入如下代码;
@Directive({ selector: '[unfocus]' })
export class UnfocusButtonDirective {
constructor(private el: ElementRef) { }
@HostListener('focus')
private onButtonFocus() {
this.el.nativeElement.style.outline = 'none';
}
}
- 在 HTML 需要该指令的地方使用
<button type="button" unfocus >Submit</button>
// 在此处添加指令
- 在最近的 module.ts 文件或应用程序中声明您的指令。module.ts 文件
@NgModule({ declarations: [UnfocusButtonDirective] })
就是这样。一切就绪。
在我的 css 文件中,我为我的按钮制作了大纲:none。
.my-btn:focus {
outline: none;
}
现在我想为我的按钮创建一个指令,它也将执行此操作。这样的指令怎么写?
提前致谢。
您可以创建指令并根据您的要求在 focus/fousin 上设置 @HostListener
@HostListener('focus')
并使用 ElementRef 设置 nativeElement.style.outline = none;
- 使用
ng g d unfocus-btn
创建自定义指令
- 在UnfocusButtonDirective.ts中写入如下代码;
@Directive({ selector: '[unfocus]' })
export class UnfocusButtonDirective {
constructor(private el: ElementRef) { }
@HostListener('focus')
private onButtonFocus() {
this.el.nativeElement.style.outline = 'none';
}
}
- 在 HTML 需要该指令的地方使用
<button type="button" unfocus >Submit</button>
// 在此处添加指令
- 在最近的 module.ts 文件或应用程序中声明您的指令。module.ts 文件
@NgModule({ declarations: [UnfocusButtonDirective] })
就是这样。一切就绪。