Skip to content
This repository was archived by the owner on Sep 5, 2024. It is now read-only.

Commit 2781eac

Browse files
author
Robert Messerle
committed
fix(autocomplete): keyboard input used by autocomplete will now call
`$event.stopPropagation()` to prevent the event from bubbling up Closes #2931
1 parent b316bba commit 2781eac

File tree

2 files changed

+8
-7
lines changed

2 files changed

+8
-7
lines changed

src/components/autocomplete/autocomplete.spec.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,8 +55,8 @@ describe('<md-autocomplete>', function() {
5555
expect(scope.match(scope.searchText).length).toBe(1);
5656
expect(ul.find('li').length).toBe(1);
5757

58-
ctrl.keydown({ keyCode: $mdConstant.KEY_CODE.DOWN_ARROW, preventDefault: angular.noop });
59-
ctrl.keydown({ keyCode: $mdConstant.KEY_CODE.ENTER, preventDefault: angular.noop });
58+
ctrl.keydown({ keyCode: $mdConstant.KEY_CODE.DOWN_ARROW, stopPropagation: angular.noop });
59+
ctrl.keydown({ keyCode: $mdConstant.KEY_CODE.ENTER, stopPropagation: angular.noop });
6060
scope.$apply();
6161
$timeout.flush();
6262

@@ -95,8 +95,8 @@ describe('<md-autocomplete>', function() {
9595
expect(scope.match(scope.searchText).length).toBe(1);
9696
expect(ul.find('li').length).toBe(1);
9797

98-
ctrl.keydown({ keyCode: $mdConstant.KEY_CODE.DOWN_ARROW, preventDefault: angular.noop });
99-
ctrl.keydown({ keyCode: $mdConstant.KEY_CODE.ENTER, preventDefault: angular.noop });
98+
ctrl.keydown({ keyCode: $mdConstant.KEY_CODE.DOWN_ARROW, stopPropagation: angular.noop });
99+
ctrl.keydown({ keyCode: $mdConstant.KEY_CODE.ENTER, stopPropagation: angular.noop });
100100
scope.$apply();
101101
$timeout.flush();
102102

src/components/autocomplete/js/autocompleteController.js

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -347,25 +347,26 @@ function MdAutocompleteCtrl ($scope, $element, $mdUtil, $mdConstant, $mdTheming,
347347
switch (event.keyCode) {
348348
case $mdConstant.KEY_CODE.DOWN_ARROW:
349349
if (ctrl.loading) return;
350-
event.preventDefault();
350+
event.stopPropagation();
351351
ctrl.index = Math.min(ctrl.index + 1, ctrl.matches.length - 1);
352352
updateScroll();
353353
updateMessages();
354354
break;
355355
case $mdConstant.KEY_CODE.UP_ARROW:
356356
if (ctrl.loading) return;
357-
event.preventDefault();
357+
event.stopPropagation();
358358
ctrl.index = ctrl.index < 0 ? ctrl.matches.length - 1 : Math.max(0, ctrl.index - 1);
359359
updateScroll();
360360
updateMessages();
361361
break;
362362
case $mdConstant.KEY_CODE.TAB:
363363
case $mdConstant.KEY_CODE.ENTER:
364364
if (ctrl.hidden || ctrl.loading || ctrl.index < 0 || ctrl.matches.length < 1) return;
365-
event.preventDefault();
365+
event.stopPropagation();
366366
select(ctrl.index);
367367
break;
368368
case $mdConstant.KEY_CODE.ESCAPE:
369+
event.stopPropagation();
369370
ctrl.matches = [];
370371
ctrl.hidden = true;
371372
ctrl.index = getDefaultIndex();

0 commit comments

Comments
 (0)