@@ -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