From dbd6ce7a58736ac6241cda00910211ecc294343e Mon Sep 17 00:00:00 2001 From: Liu Yang Date: Wed, 2 Jul 2014 14:56:15 +0800 Subject: [PATCH 1/2] hide tooltip when click on body --- src/tooltip/tooltip.js | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/tooltip/tooltip.js b/src/tooltip/tooltip.js index 9ea009c..e267ca4 100644 --- a/src/tooltip/tooltip.js +++ b/src/tooltip/tooltip.js @@ -173,16 +173,18 @@ angular.module( 'mm.foundation.tooltip', [ 'mm.foundation.position', 'mm.foundat // TODO add ability to start tooltip opened scope.tt_isOpen = false; - function toggleTooltipBind () { + function toggleTooltipBind (event) { if ( ! scope.tt_isOpen ) { - showTooltipBind(); + showTooltipBind(event); } else { hideTooltipBind(); } } // Show the tooltip with delay if specified, otherwise show it immediately - function showTooltipBind() { + function showTooltipBind(event) { + event.stopPropagation(); + if(hasEnableExp && !scope.$eval(attrs[prefix+'Enable'])) { return; } @@ -327,6 +329,10 @@ angular.module( 'mm.foundation.tooltip', [ 'mm.foundation.position', 'mm.foundat element.bind( triggers.show, showTooltipBind ); element.bind( triggers.hide, hideTooltipBind ); } + + $document.on('click', function() { + hideTooltipBind(); + }); } hasRegisteredTriggers = true; From 9bda5cb81c0430d305f6f48d087d89062c8c4765 Mon Sep 17 00:00:00 2001 From: Liu Yang Date: Fri, 4 Jul 2014 16:25:29 +0800 Subject: [PATCH 2/2] fix focus trigger broken problem --- src/tooltip/tooltip.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/tooltip/tooltip.js b/src/tooltip/tooltip.js index e267ca4..72cf58a 100644 --- a/src/tooltip/tooltip.js +++ b/src/tooltip/tooltip.js @@ -330,8 +330,10 @@ angular.module( 'mm.foundation.tooltip', [ 'mm.foundation.position', 'mm.foundat element.bind( triggers.hide, hideTooltipBind ); } - $document.on('click', function() { - hideTooltipBind(); + $document.on('click', function(event) { + if (!angular.element(event.target).is(element)) { + hideTooltipBind(); + } }); }