diff --git a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive.ts b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive.ts index c82d10bc719..596f0ad1933 100644 --- a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive.ts +++ b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip-target.directive.ts @@ -199,6 +199,9 @@ export class IgxTooltipTargetDirective extends IgxToggleActionDirective implemen public override onClick() { if (!this.target.collapsed) { this.target.forceClose(this.mergedOverlaySettings); + } else if (this.target.toBeShown) { + clearTimeout(this.target.timeoutId); + this.target.toBeShown = false; } } diff --git a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.spec.ts b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.spec.ts index 8b1ba79aa77..2bf6bf2781f 100644 --- a/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.spec.ts +++ b/projects/igniteui-angular/src/lib/directives/tooltip/tooltip.directive.spec.ts @@ -258,6 +258,21 @@ describe('IgxTooltip', () => { verifyTooltipVisibility(tooltipNativeElement, tooltipTarget, false); })); + it('IgxTooltip should not be shown if the target is clicked - #16145', fakeAsync(() => { + tooltipTarget.showDelay = 500; + fix.detectChanges(); + + hoverElement(button); + tick(300); + verifyTooltipVisibility(tooltipNativeElement, tooltipTarget, false); + + UIInteractions.simulateClickAndSelectEvent(button); + fix.detectChanges(); + + tick(300); + verifyTooltipVisibility(tooltipNativeElement, tooltipTarget, false); + })); + it('IgxTooltip hides on pressing \'escape\' key', fakeAsync(() => { tooltipTarget.showTooltip(); flush();