]> git.ipfire.org Git - thirdparty/foundation/foundation-sites.git/commitdiff
Drop menu fix for handling closeOnClickInside
authorsujayjaju <sjaju@indivision.net>
Mon, 7 Nov 2016 14:21:17 +0000 (19:51 +0530)
committerGitHub <noreply@github.com>
Mon, 7 Nov 2016 14:21:17 +0000 (19:51 +0530)
Fixes implementation of #9131 and includes a fix for #9293

js/foundation.dropdownMenu.js

index d3b6673d03ce8bfc188d6a7cf16a4b96ff63dd17..7f3f8346be144e08c99fffd0bb3432d5e46a831f 100644 (file)
@@ -95,18 +95,23 @@ class DropdownMenu {
           _this._show($sub);
           $elem.add($elem.parentsUntil(_this.$element, `.${parClass}`)).attr('data-is-click', true);
         }
-      } else {
-        if(_this.options.closeOnClickInside){
-          _this._hide($elem);
-        }
-        return;
       }
     };
 
     if (this.options.clickOpen || hasTouch) {
       this.$menuItems.on('click.zf.dropdownmenu touchstart.zf.dropdownmenu', handleClickFn);
     }
-
+    
+    // Handle Leaf element Clicks
+    if(_this.options.closeOnClickInside){
+      this.$menuItems.on('click.zf.dropdownmenu touchend.zf.dropdownmenu', function(e) {
+        var hasSub = $elem.hasClass(parClass);
+        if(!hasSub){
+          _this.hide();
+        }
+      }
+    }
+    
     if (!this.options.disableHover) {
       this.$menuItems.on('mouseenter.zf.dropdownmenu', function(e) {
         var $elem = $(this),