Skip to content

Commit f199adc

Browse files
author
isteven
committed
fixed on-close callback bug
1 parent 2730c2b commit f199adc

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

angular-multi-select.js

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -529,7 +529,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$
529529

530530
// Just to make sure.. had a bug where key events were recorded twice
531531
angular.element( document ).unbind( 'click', $scope.externalClickListener );
532-
angular.element( window ).unbind( 'keydown', $scope.keyboardListener );
532+
angular.element( document ).unbind( 'keydown', $scope.keyboardListener );
533533

534534
// clear filter
535535
$scope.inputLabel.labelFilter = '';
@@ -540,7 +540,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$
540540
angular.element( $scope.checkBoxLayer ).removeClass( 'show' );
541541
angular.element( clickedEl ).removeClass( 'buttonClicked' );
542542
angular.element( document ).unbind( 'click', $scope.externalClickListener );
543-
angular.element( window ).unbind( 'keydown', $scope.keyboardListener );
543+
angular.element( document ).unbind( 'keydown', $scope.keyboardListener );
544544

545545
// clear the focused element;
546546
$scope.removeFocusStyle( $scope.tabIndex );
@@ -558,7 +558,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$
558558
angular.element( $scope.checkBoxLayer ).removeClass( 'show' );
559559
angular.element( clickedEl ).removeClass( 'buttonClicked' );
560560
angular.element( document ).unbind( 'click', $scope.externalClickListener );
561-
angular.element( window ).unbind( 'keydown', $scope.keyboardListener );
561+
angular.element( document ).unbind( 'keydown', $scope.keyboardListener );
562562

563563
// clear the focused element;
564564
$scope.removeFocusStyle( $scope.tabIndex );
@@ -575,7 +575,7 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$
575575
angular.element( $scope.checkBoxLayer ).addClass( 'show' );
576576
angular.element( clickedEl ).addClass( 'buttonClicked' );
577577
angular.element( document ).bind( 'click', $scope.externalClickListener );
578-
angular.element( window ).bind( 'keydown', $scope.keyboardListener );
578+
angular.element( document ).bind( 'keydown', $scope.keyboardListener );
579579

580580
// to get the initial tab index, depending on how many helper elements we have.
581581
// priority is to always focus it on the input filter
@@ -619,8 +619,11 @@ angular.module( 'multi-select', ['ng'] ).directive( 'multiSelect' , [ '$sce', '$
619619
angular.element( $scope.checkBoxLayer ).removeClass( 'show' );
620620
angular.element( document ).unbind( 'click', $scope.externalClickListener );
621621
angular.element( document ).unbind( 'keydown', $scope.keyboardListener );
622-
// close callback
623-
$scope.onClose( { data: element } );
622+
623+
// close callback
624+
$timeout( function() {
625+
$scope.onClose( { data: element } );
626+
}, 0 );
624627
}
625628

626629
// traverse up to find the button tag

0 commit comments

Comments
 (0)