diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index e38515e31..4c24b127c 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,5 +1,10 @@ ## RELEASE NOTES +### Version 2.2.3 - July 31, 2016 + +**Bugs** +- **Dropdown** - `dropdown icon` no longer relies on stopping event propagation. This means using the dropdown icon will now cause other dropdowns to correctly hide. #3998 + ### Version 2.2.2 - July 07, 2016 **Bugs** diff --git a/src/definitions/modules/dropdown.js b/src/definitions/modules/dropdown.js index 711404968..0daadcb0f 100644 --- a/src/definitions/modules/dropdown.js +++ b/src/definitions/modules/dropdown.js @@ -970,7 +970,6 @@ $.fn.dropdown = function(parameters) { icon: { click: function(event) { module.toggle(); - event.stopPropagation(); } }, text: { @@ -1034,7 +1033,7 @@ $.fn.dropdown = function(parameters) { ? module.show : module.toggle ; - if(module.is.bubbledLabelClick(event)) { + if(module.is.bubbledLabelClick(event) || module.is.bubbledIconClick(event)) { return; } if( module.determine.eventOnElement(event, toggleBehavior) ) { @@ -2980,6 +2979,9 @@ $.fn.dropdown = function(parameters) { bubbledLabelClick: function(event) { return $(event.target).is('select, input') && $module.closest('label').length > 0; }, + bubbledIconClick: function(event) { + return $(event.target).closest($icon).length > 0; + }, alreadySetup: function() { return ($module.is('select') && $module.parent(selector.dropdown).length > 0 && $module.prev().length === 0); },