Open dropdown on keydown
This commit is contained in:
@@ -432,6 +432,21 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.multiMap', 'ui.bootstrap.
|
||||
|
||||
element.on('click', toggleDropdown);
|
||||
|
||||
var openDropdown = function(event) {
|
||||
if (event.which === 40 && !dropdownCtrl.isOpen()) {
|
||||
event.preventDefault();
|
||||
event.stopPropagation();
|
||||
|
||||
if (!element.hasClass('disabled') && !attrs.disabled) {
|
||||
scope.$apply(function() {
|
||||
dropdownCtrl.toggle();
|
||||
});
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
element.on('keydown', openDropdown);
|
||||
|
||||
// WAI-ARIA
|
||||
element.attr({ 'aria-haspopup': true, 'aria-expanded': false });
|
||||
scope.$watch(dropdownCtrl.isOpen, function(isOpen) {
|
||||
@@ -440,6 +455,7 @@ angular.module('ui.bootstrap.dropdown', ['ui.bootstrap.multiMap', 'ui.bootstrap.
|
||||
|
||||
scope.$on('$destroy', function() {
|
||||
element.off('click', toggleDropdown);
|
||||
element.off('keydown', openDropdown);
|
||||
});
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user