From 4dbd873e2e29714eb63785ad901e5353416f45d9 Mon Sep 17 00:00:00 2001 From: RivaIvanova Date: Wed, 20 Aug 2025 15:57:55 +0300 Subject: [PATCH] fix(tooltip): not show tooltip when target is clicked --- .../tooltip/tooltip-target.directive.ts | 3 +++ .../directives/tooltip/tooltip.directive.spec.ts | 15 +++++++++++++++ 2 files changed, 18 insertions(+) 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 0014df2c1f4..93faf786554 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 @@ -348,6 +348,9 @@ export class IgxTooltipTargetDirective extends IgxToggleActionDirective implemen public override onClick() { if (!this.target.collapsed) { this._hideOnInteraction(); + } else if (this.target.timeoutId) { + clearTimeout(this.target.timeoutId); + this.target.timeoutId = null; } } 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 be1a6d5a23a..0f78506dfbd 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 @@ -261,6 +261,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();