dev/core#1790: Add short delay before closing tooltip elements #19082
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Overview
This PR prevents tooltips from closing as long as the user's mouse is inside of the tooltip element.
Before
After
Technical Details
The
crmtooltip
function was updated so it only hides the tooltip after leaving the tooltip element, or after a300ms
delay.The tooltip was closing too soon because the
mouseout
event was being triggered for the triggering element only.The new code works because
mouseleave
is triggered every time the mouse mouse leaves one of the tooltip's elements. Since the triggering element is a parent of the tooltip's contents it will also get this event because of bubbling. We usetooltipLink.filter(':hover')
to determine if themouseleave
event was triggered, but the mouse is still not inside any of the tooltip's children. In this case the tooltip is closed as usual.