Skip to content

Commit c8ceffa

Browse files
Merge pull request #16322 from primefaces/issue-16321
Fixed #16321 - Tooltip | tooltip on Dropdown causes Errors
2 parents c859aed + 84159fb commit c8ceffa

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/app/components/tooltip/tooltip.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -185,7 +185,11 @@ export class Tooltip implements AfterViewInit, OnDestroy {
185185
this.focusListener = this.onFocus.bind(this);
186186
this.blurListener = this.onBlur.bind(this);
187187

188-
let target = this.getTarget(this.el.nativeElement);
188+
let target = this.el.nativeElement.querySelector('.p-component');
189+
190+
if (!target) {
191+
target = this.getTarget(this.el.nativeElement);
192+
}
189193

190194
target.addEventListener('focus', this.focusListener);
191195
target.addEventListener('blur', this.blurListener);
@@ -601,7 +605,7 @@ export class Tooltip implements AfterViewInit, OnDestroy {
601605
}
602606

603607
getTarget(el: Element) {
604-
return DomHandler.hasClass(el, 'p-inputwrapper') ? DomHandler.findSingle(el, 'input') : el.querySelector('.p-component') || el;
608+
return DomHandler.hasClass(el, 'p-inputwrapper') ? DomHandler.findSingle(el, 'input') : el;
605609
}
606610

607611
preAlign(position: string) {
@@ -668,10 +672,11 @@ export class Tooltip implements AfterViewInit, OnDestroy {
668672
this.el.nativeElement.removeEventListener('click', this.clickListener);
669673
}
670674
if (tooltipEvent === 'focus' || tooltipEvent === 'both') {
671-
let target = this.getTarget(this.el.nativeElement);
675+
let target = this.el.nativeElement.querySelector('.p-component');
672676

673-
target.removeEventListener('focus', this.focusListener);
674-
target.removeEventListener('blur', this.blurListener);
677+
if (!target) {
678+
target = this.getTarget(this.el.nativeElement);
679+
}
675680
}
676681
this.unbindDocumentResizeListener();
677682
}

0 commit comments

Comments
 (0)