Angular 角度5禁用移动设备上的cdk焦点状态
手机上有一个bug(我猜),当你点击侧导航菜单,然后选择要去的路线时,它会关闭侧导航,但使菜单按钮保持焦点状态。打开模态的按钮也会发生这种情况,或者实际上任何具有焦点状态的东西(侧导航、导航项目、按钮等…) 您可以在角度材质侧导航示例(模拟移动设备)中看到这种情况: 或者你可以看到下面的屏幕截图(我点击了toggle sidenav按钮后,它被聚焦)Angular 角度5禁用移动设备上的cdk焦点状态,angular,mobile,angular5,angular-cdk,Angular,Mobile,Angular5,Angular Cdk,手机上有一个bug(我猜),当你点击侧导航菜单,然后选择要去的路线时,它会关闭侧导航,但使菜单按钮保持焦点状态。打开模态的按钮也会发生这种情况,或者实际上任何具有焦点状态的东西(侧导航、导航项目、按钮等…) 您可以在角度材质侧导航示例(模拟移动设备)中看到这种情况: 或者你可以看到下面的屏幕截图(我点击了toggle sidenav按钮后,它被聚焦) 我想知道如何在angular 5上禁用移动设备上的cdk焦点状态(或在特定条件下)。此错误是由于在浏览器中使用angular的自定义按钮元素造
我想知道如何在angular 5上禁用移动设备上的cdk焦点状态(或在特定条件下)。此错误是由于在浏览器中使用angular的自定义按钮元素造成的。解决方案是使用Javascript检测用户点击并手动禁用焦点 您可以尝试以下方法:
scope.clickActive = false;
element.on('click', function() {
scope.clickActive = true;
$timeout(function(){
scope.clickActive = false;
}, 100);
})
.on('focus', function() {
if(scope.clickActive === false) { element.addClass('md-focused'); }
})
.on('blur', function() { element.removeClass('md-focused'); });
我最终使用以下css来消除这种效果:
.mat-button,
.mat-icon-button {
&.cdk-focused,
&.cdk-program-focused {
background-color: none !important;
.mat-button-focus-overlay {
display: none !important;
}
}
}
您是否尝试过
自动对焦:false
?无法绑定到“自动对焦”,因为它不是“mat sidenav”的已知属性。您尝试过这样做吗<代码>是的,我就是这样尝试的。