From 7c5b0d8d1818c794187f6182b103d1e3e768f216 Mon Sep 17 00:00:00 2001 From: Takashi Irie Date: Wed, 13 Jan 2016 11:13:59 +0000 Subject: [PATCH] Toggle focus class to allow submenu access on tablets --- js/navigation.js | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/js/navigation.js b/js/navigation.js index 24c83e8d..48212757 100644 --- a/js/navigation.js +++ b/js/navigation.js @@ -78,4 +78,35 @@ self = self.parentElement; } } + + /** + * Toggles `focus` class to allow submenu access on tablets. + */ + ( function ( container ) { + var touchStartFn, + parentLink = container.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' ); + + if ( 'ontouchstart' in window ) { + touchStartFn = function( e ) { + var menuItem = this.parentNode; + + if ( ! menuItem.classList.contains( 'focus' ) ) { + e.preventDefault(); + for( var i = 0; i < menuItem.parentNode.children.length; ++i ) { + if ( menuItem === menuItem.parentNode.children[i] ) { + continue; + } + menuItem.parentNode.children[i].classList.remove( 'focus' ); + } + menuItem.classList.add( 'focus' ); + } else { + menuItem.classList.remove( 'focus' ); + } + }; + + for ( var i = 0; i < parentLink.length; ++i ) { + parentLink[i].addEventListener( 'touchstart', touchStartFn, false ); + } + } + } ( container ) ); } )();