From 95692e7ff370d2eb4bc6bb8883d3eb95ef05837f Mon Sep 17 00:00:00 2001 From: Wesley Cho Date: Tue, 29 Mar 2016 20:56:03 -0700 Subject: [PATCH] fix: properly gc on destruction - Properly garbage collect resize handler when directive is destroyed - Properly debounce callback --- src/uiSelectController.js | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/uiSelectController.js b/src/uiSelectController.js index f1a67fc46..5b00db2fd 100644 --- a/src/uiSelectController.js +++ b/src/uiSelectController.js @@ -631,12 +631,14 @@ uis.controller('uiSelectCtrl', } } + var onResize = $$uisDebounce(function() { + ctrl.sizeSearchInput(); + }, 50); + + angular.element($window).bind('resize', onResize); + $scope.$on('$destroy', function() { ctrl.searchInput.off('keyup keydown tagged blur paste'); + angular.element($window).off('resize', onResize); }); - - angular.element($window).bind('resize', $$uisDebounce(function() { - ctrl.sizeSearchInput(); - }), 50); - }]);