From 7ce77a151c6b9096558f4317d4195f227868a6d1 Mon Sep 17 00:00:00 2001 From: Guo Xiang Tan Date: Fri, 26 Jun 2015 23:16:21 +0800 Subject: [PATCH] UX: Dropdown not dismissing until next page renders. --- app/assets/javascripts/discourse/views/header.js.es6 | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/assets/javascripts/discourse/views/header.js.es6 b/app/assets/javascripts/discourse/views/header.js.es6 index 59bb77f41..120a0960c 100644 --- a/app/assets/javascripts/discourse/views/header.js.es6 +++ b/app/assets/javascripts/discourse/views/header.js.es6 @@ -60,6 +60,7 @@ export default Discourse.View.extend({ controller.set('visibleDropdown', null); } $html.off('click.d-dropdown'); + $dropdown.off('click.d-dropdown'); }; // if a dropdown is active and the user clicks on it, close it @@ -78,6 +79,10 @@ export default Discourse.View.extend({ return $(e.target).closest('.d-dropdown').length > 0 ? true : hideDropdown.apply(self); }); + $dropdown.on('click.d-dropdown', function(e) { + return $(e.target).closest('a').not('.search-link').length > 0 ? hideDropdown.apply(self) : true; + }); + $html.data('hide-dropdown', hideDropdown); return false;