Angular 模糊事件未在角度组件上触发
我试图得到一个反应形式,以适当地处理模糊事件,它似乎没有正确地反应模糊Angular 模糊事件未在角度组件上触发,angular,components,custom-controls,Angular,Components,Custom Controls,我试图得到一个反应形式,以适当地处理模糊事件,它似乎没有正确地反应模糊 从'@angular/core'导入{Component,HostListener,HostBinding}; @组成部分({ 选择器:“应用程序组合框基本”, templateUrl:“./ComboBox basic.html” }) 导出类ComboxBasic{ @HostListener('blur',['$event.target'])onBlur(目标){ log(`onBlur():${new Date()
从'@angular/core'导入{Component,HostListener,HostBinding};
@组成部分({
选择器:“应用程序组合框基本”,
templateUrl:“./ComboBox basic.html”
})
导出类ComboxBasic{
@HostListener('blur',['$event.target'])onBlur(目标){
log(`onBlur():${new Date()}-${JSON.stringify(target)}`);
}
}
一个
两个
四个!
经过大量的搜索和实验,我找到了一些使其正常工作所需的项目
tabindex=“0”
,才能聚焦。这是通过:@HostBinding('attr.tabindex')tabindex='0'实现的代码>
@HostListener('blur',['$event.target'])onBlur(target){…}
从'@angular/core'导入{Component,HostListener,HostBinding};
@组成部分({
选择器:“应用程序组合框基本”,
templateUrl:“./ComboBox basic.html”
})
导出类ComboxBasic{
//确保容器可以接收焦点,否则将看不到模糊事件。
@HostBinding('attr.tabindex')tabindex='0';
@HostListener('blur',['$event.target'])onBlur(目标){
log(`onBlur():${new Date()}-${JSON.stringify(target)}`);
}
}
一个
两个
四个!
模糊事件不会在formarray中的控件上触发
在不同的情况下,相同的问题,即模糊事件未触发,以及所建议的相同解决方案,尽管:
在我的例子中,模糊事件不是在
formarray
下触发的。虽然在开发模式下触发了模糊事件,但在生产构建中,input
和select
中没有触发模糊事件,没有检查其他事件。解决方案相同,为formarray设置包含div的tabindex=“0”
,事件开始触发。以防万一,如果有人面临同样的情况。什么?非常感谢您的评论。否则我永远也不会明白这一点。