@@ -112,7 +112,6 @@ angular.module( 'ui.bootstrap.tooltip', [ 'ui.bootstrap.position', 'ui.bootstrap
112
112
var tooltip = $compile ( template ) ( scope ) ;
113
113
var transitionTimeout ;
114
114
var popupTimeout ;
115
- var $body = $document . find ( 'body' ) ;
116
115
var appendToBody = angular . isDefined ( options . appendToBody ) ? options . appendToBody : false ;
117
116
var triggers = getTriggers ( undefined ) ;
118
117
var hasRegisteredTriggers = false ;
@@ -172,7 +171,7 @@ angular.module( 'ui.bootstrap.tooltip', [ 'ui.bootstrap.position', 'ui.bootstrap
172
171
// Now we add it to the DOM because need some info about it. But it's not
173
172
// visible yet anyway.
174
173
if ( appendToBody ) {
175
- $body . append ( tooltip ) ;
174
+ $document . find ( ' body' ) . append ( tooltip ) ;
176
175
} else {
177
176
element . after ( tooltip ) ;
178
177
}
@@ -271,12 +270,15 @@ angular.module( 'ui.bootstrap.tooltip', [ 'ui.bootstrap.position', 'ui.bootstrap
271
270
scope . tt_popupDelay = ! isNaN ( delay ) ? delay : options . popupDelay ;
272
271
} ) ;
273
272
274
- attrs . $observe ( prefix + 'Trigger' , function ( val ) {
275
-
273
+ var unregisterTriggers = function ( ) {
276
274
if ( hasRegisteredTriggers ) {
277
275
element . unbind ( triggers . show , showTooltipBind ) ;
278
276
element . unbind ( triggers . hide , hideTooltipBind ) ;
279
277
}
278
+ } ;
279
+
280
+ attrs . $observe ( prefix + 'Trigger' , function ( val ) {
281
+ unregisterTriggers ( ) ;
280
282
281
283
triggers = getTriggers ( val ) ;
282
284
@@ -307,11 +309,12 @@ angular.module( 'ui.bootstrap.tooltip', [ 'ui.bootstrap.position', 'ui.bootstrap
307
309
308
310
// Make sure tooltip is destroyed and removed.
309
311
scope . $on ( '$destroy' , function onDestroyTooltip ( ) {
312
+ $timeout . cancel ( transitionTimeout ) ;
310
313
$timeout . cancel ( popupTimeout ) ;
314
+ unregisterTriggers ( ) ;
311
315
tooltip . remove ( ) ;
312
316
tooltip . unbind ( ) ;
313
317
tooltip = null ;
314
- $body = null ;
315
318
} ) ;
316
319
}
317
320
} ;
0 commit comments