Skip to content
This repository was archived by the owner on May 29, 2019. It is now read-only.

Commit d6cda93

Browse files
wesleychoicfantv
authored andcommitted
fix(tooltip): fix binding to multiple triggers
- Due to switch to raw `addEventListener`, changed to add and remove listeners to event triggers by iteration Fixes #4371 Closes #4384
1 parent 8ae664f commit d6cda93

File tree

2 files changed

+12
-4
lines changed

2 files changed

+12
-4
lines changed

src/tooltip/test/tooltip.spec.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -844,7 +844,7 @@ describe('$tooltipProvider', function() {
844844

845845
describe('triggers with a custom mapped value', function() {
846846
beforeEach(module('ui.bootstrap.tooltip', function($tooltipProvider) {
847-
$tooltipProvider.setTriggers({ 'customOpenTrigger': 'customCloseTrigger' });
847+
$tooltipProvider.setTriggers({ customOpenTrigger: 'foo bar' });
848848
$tooltipProvider.options({trigger: 'customOpenTrigger'});
849849
}));
850850

@@ -866,7 +866,11 @@ describe('$tooltipProvider', function() {
866866
expect(tooltipScope.isOpen).toBeFalsy();
867867
trigger(elm, 'customOpenTrigger');
868868
expect(tooltipScope.isOpen).toBeTruthy();
869-
trigger(elm, 'customCloseTrigger');
869+
trigger(elm, 'foo');
870+
expect(tooltipScope.isOpen).toBeFalsy();
871+
trigger(elm, 'customOpenTrigger');
872+
expect(tooltipScope.isOpen).toBeTruthy();
873+
trigger(elm, 'bar');
870874
expect(tooltipScope.isOpen).toBeFalsy();
871875
}));
872876
});

src/tooltip/tooltip.js

+6-2
Original file line numberDiff line numberDiff line change
@@ -390,7 +390,9 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position'])
390390
element.unbind(trigger, showTooltipBind);
391391
});
392392
triggers.hide.forEach(function(trigger) {
393-
element.unbind(trigger, hideTooltipBind);
393+
trigger.split(' ').forEach(function(hideTrigger) {
394+
element[0].removeEventListener(hideTrigger, hideTooltipBind);
395+
});
394396
});
395397
};
396398

@@ -407,7 +409,9 @@ angular.module('ui.bootstrap.tooltip', ['ui.bootstrap.position'])
407409
element[0].addEventListener(trigger, toggleTooltipBind);
408410
} else if (trigger) {
409411
element[0].addEventListener(trigger, showTooltipBind);
410-
element[0].addEventListener(triggers.hide[idx], hideTooltipBind);
412+
triggers.hide[idx].split(' ').forEach(function(trigger) {
413+
element[0].addEventListener(trigger, hideTooltipBind);
414+
});
411415
}
412416
});
413417
}

0 commit comments

Comments
 (0)