From: Marius Olbertz Date: Sat, 30 Dec 2017 22:04:23 +0000 (+0100) Subject: Fix Drilldown behavior with parent link when using keyboard. X-Git-Tag: v6.6.0~3^2~326^2~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e30db54280669be005b336d9b1ebd39cdfc3d7d1;p=thirdparty%2Ffoundation%2Ffoundation-sites.git Fix Drilldown behavior with parent link when using keyboard. Fixes #10803 --- diff --git a/js/foundation.drilldown.js b/js/foundation.drilldown.js index 003ef3d80..5f7d2ca56 100644 --- a/js/foundation.drilldown.js +++ b/js/foundation.drilldown.js @@ -226,7 +226,7 @@ class Drilldown extends Plugin { if ($element.is(_this.$submenuAnchors)) { _this._show($element.parent('li')); $element.parent('li').one(transitionend($element), function(){ - $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus(); + $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus(); }); return true; } @@ -258,7 +258,9 @@ class Drilldown extends Plugin { } }, open: function() { - if (!$element.is(_this.$menuItems)) { // not menu item means back button + if (_this.options.parentLink && $element.attr('href')) { // Link with href + return false; + } else if (!$element.is(_this.$menuItems)) { // not menu item means back button _this._hide($element.parent('li').parent('ul')); $element.parent('li').parent('ul').one(transitionend($element), function(){ setTimeout(function() { @@ -266,10 +268,10 @@ class Drilldown extends Plugin { }, 1); }); return true; - } else if ($element.is(_this.$submenuAnchors)) { + } else if ($element.is(_this.$submenuAnchors)) { // Sub menu item _this._show($element.parent('li')); $element.parent('li').one(transitionend($element), function(){ - $element.parent('li').find('ul li a').filter(_this.$menuItems).first().focus(); + $element.parent('li').find('ul li a').not('.js-drilldown-back a').first().focus(); }); return true; }