diff options
author | isteven <isteven@server.fake> | 2014-07-10 14:02:11 +0800 |
---|---|---|
committer | isteven <isteven@server.fake> | 2014-07-10 14:02:11 +0800 |
commit | f199adc7a76a16596dc8adcfe79d9fb5a5d9f861 (patch) | |
tree | 56bd54f758a9443b137c1e428d291b2872234b48 | |
parent | 2730c2b52a58c75d7b7dd4972d761c7a3d276849 (diff) | |
download | angular-multi-select-f199adc7a76a16596dc8adcfe79d9fb5a5d9f861.zip angular-multi-select-f199adc7a76a16596dc8adcfe79d9fb5a5d9f861.tar.gz angular-multi-select-f199adc7a76a16596dc8adcfe79d9fb5a5d9f861.tar.bz2 |
fixed on-close callback bug
-rw-r--r-- | angular-multi-select.js | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/angular-multi-select.js b/angular-multi-select.js index c4ad30d..4579f45 100644 --- a/angular-multi-select.js +++ b/angular-multi-select.js @@ -529,7 +529,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ // Just to make sure.. had a bug where key events were recorded twice angular.element( document ).unbind( 'click', $scope.externalClickListener ); - angular.element( window ).unbind( 'keydown', $scope.keyboardListener ); + angular.element( document ).unbind( 'keydown', $scope.keyboardListener ); // clear filter $scope.inputLabel.labelFilter = ''; @@ -540,7 +540,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ angular.element( $scope.checkBoxLayer ).removeClass( 'show' ); angular.element( clickedEl ).removeClass( 'buttonClicked' ); angular.element( document ).unbind( 'click', $scope.externalClickListener ); - angular.element( window ).unbind( 'keydown', $scope.keyboardListener ); + angular.element( document ).unbind( 'keydown', $scope.keyboardListener ); // clear the focused element; $scope.removeFocusStyle( $scope.tabIndex ); @@ -558,7 +558,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ angular.element( $scope.checkBoxLayer ).removeClass( 'show' ); angular.element( clickedEl ).removeClass( 'buttonClicked' ); angular.element( document ).unbind( 'click', $scope.externalClickListener ); - angular.element( window ).unbind( 'keydown', $scope.keyboardListener ); + angular.element( document ).unbind( 'keydown', $scope.keyboardListener ); // clear the focused element; $scope.removeFocusStyle( $scope.tabIndex ); @@ -575,7 +575,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ angular.element( $scope.checkBoxLayer ).addClass( 'show' ); angular.element( clickedEl ).addClass( 'buttonClicked' ); angular.element( document ).bind( 'click', $scope.externalClickListener ); - angular.element( window ).bind( 'keydown', $scope.keyboardListener ); + angular.element( document ).bind( 'keydown', $scope.keyboardListener ); // to get the initial tab index, depending on how many helper elements we have. // priority is to always focus it on the input filter @@ -619,8 +619,11 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$ angular.element( $scope.checkBoxLayer ).removeClass( 'show' ); angular.element( document ).unbind( 'click', $scope.externalClickListener ); angular.element( document ).unbind( 'keydown', $scope.keyboardListener ); - // close callback - $scope.onClose( { data: element } ); + + // close callback + $timeout( function() { + $scope.onClose( { data: element } ); + }, 0 ); } // traverse up to find the button tag |