From c187aa32bbf7fa8d23c22692875fbded2717c1af Mon Sep 17 00:00:00 2001 From: Istrasoft Date: Wed, 30 Apr 2014 04:49:31 +0200 Subject: [PATCH] - Allow to reuse dropdown-content element. If a target opened the dropdown, clicking another target will directly open the same dropdown element instead of just closing the previous one. - Remove unnecessary call to this.close.call --- js/foundation/foundation.dropdown.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/js/foundation/foundation.dropdown.js b/js/foundation/foundation.dropdown.js index 54fddbf70..a817a89d5 100644 --- a/js/foundation/foundation.dropdown.js +++ b/js/foundation/foundation.dropdown.js @@ -105,7 +105,8 @@ .css(Foundation.rtl ? 'right':'left', '-99999px') .removeClass(self.settings.active_class) .prev('[' + self.attr_name() + ']') - .removeClass(self.settings.active_class); + .removeClass(self.settings.active_class) + .removeData('target'); self.S(this).trigger('closed', [dropdown]); } @@ -124,7 +125,7 @@ .css(dropdown .addClass(this.settings.active_class), target); dropdown.prev('[' + this.attr_name() + ']').addClass(this.settings.active_class); - dropdown.trigger('opened', [dropdown, target]); + dropdown.data('target', target.get(0)).trigger('opened', [dropdown, target]); }, data_attr: function () { @@ -146,8 +147,9 @@ if (dropdown.hasClass(this.settings.active_class)) { this.close.call(this, dropdown); + if (dropdown.data('target') !== target.get(0)) + this.open.call(this, dropdown, target); } else { - this.close.call(this, this.S('[' + this.attr_name() + '-content]')) this.open.call(this, dropdown, target); } }, -- 2.47.2