From f46e78bd1a8b8f5ae663ede5acc78d090da4359a Mon Sep 17 00:00:00 2001 From: Nicolas Coden Date: Wed, 25 Jul 2018 00:07:25 +0200 Subject: [PATCH] fix: prevent Dropdown and Tooltip to hide when moving mouse to browser UI elements See https://git.io/zf-11410 --- js/foundation.dropdown.js | 10 +++++----- js/foundation.tooltip.js | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/js/foundation.dropdown.js b/js/foundation.dropdown.js index 85f605e6f..08e13b097 100644 --- a/js/foundation.dropdown.js +++ b/js/foundation.dropdown.js @@ -2,7 +2,7 @@ import $ from 'jquery'; import { Keyboard } from './foundation.util.keyboard'; -import { GetYoDigits } from './foundation.core.utils'; +import { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils'; import { Positionable } from './foundation.positionable'; import { Triggers } from './foundation.util.triggers'; @@ -170,24 +170,24 @@ class Dropdown extends Positionable { _this.$anchors.data('hover', true); }, _this.options.hoverDelay); } - }).on('mouseleave.zf.dropdown', function(){ + }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){ clearTimeout(_this.timeout); _this.timeout = setTimeout(function(){ _this.close(); _this.$anchors.data('hover', false); }, _this.options.hoverDelay); - }); + })); if(this.options.hoverPane){ this.$element.off('mouseenter.zf.dropdown mouseleave.zf.dropdown') .on('mouseenter.zf.dropdown', function(){ clearTimeout(_this.timeout); - }).on('mouseleave.zf.dropdown', function(){ + }).on('mouseleave.zf.dropdown', ignoreMousedisappear(function(){ clearTimeout(_this.timeout); _this.timeout = setTimeout(function(){ _this.close(); _this.$anchors.data('hover', false); }, _this.options.hoverDelay); - }); + })); } } this.$anchors.add(this.$element).on('keydown.zf.dropdown', function(e) { diff --git a/js/foundation.tooltip.js b/js/foundation.tooltip.js index 41f99d4fb..0bcf3c108 100644 --- a/js/foundation.tooltip.js +++ b/js/foundation.tooltip.js @@ -2,7 +2,7 @@ import $ from 'jquery'; -import { GetYoDigits } from './foundation.core.utils'; +import { GetYoDigits, ignoreMousedisappear } from './foundation.core.utils'; import { MediaQuery } from './foundation.util.mediaQuery'; import { Triggers } from './foundation.util.triggers'; import { Positionable } from './foundation.positionable'; @@ -208,12 +208,12 @@ class Tooltip extends Positionable { }, _this.options.hoverDelay); } }) - .on('mouseleave.zf.tooltip', function(e) { + .on('mouseleave.zf.tooltip', ignoreMousedisappear(function(e) { clearTimeout(_this.timeout); if (!isFocus || (_this.isClick && !_this.options.clickOpen)) { _this.hide(); } - }); + })); } if (hasTouch) { -- 2.47.2