diff --git a/projects/angular/src/popover/dropdown/dropdown-item.ts b/projects/angular/src/popover/dropdown/dropdown-item.ts index 10fd34a840..d3d46dbb60 100644 --- a/projects/angular/src/popover/dropdown/dropdown-item.ts +++ b/projects/angular/src/popover/dropdown/dropdown-item.ts @@ -76,4 +76,20 @@ export class ClrDropdownItem { } }); } + + @HostListener('keydown.space', ['$event']) + private onSpaceKeydown($event: KeyboardEvent) { + this.stopImmediatePropagationIfDisabled($event); + } + + @HostListener('keydown.enter', ['$event']) + private onEnterKeydown($event: KeyboardEvent) { + this.stopImmediatePropagationIfDisabled($event); + } + + private stopImmediatePropagationIfDisabled($event: Event) { + if (this.disabled) { + $event.stopImmediatePropagation(); + } + } }