jQuery( document ).ready(function() { const befold_siteNavigation = document.getElementById( 'site-navigation' ); if ( ! befold_siteNavigation ) { return; } const befold_menu = befold_siteNavigation.getElementsByTagName( 'ul' )[ 0 ]; const befold_links = befold_menu.getElementsByTagName( 'a' ); const befold_linksWithChildren = befold_menu.querySelectorAll( '.menu-item-has-children > a, .page_item_has_children > a' ); for ( const link of befold_links ) { link.addEventListener( 'focus', toggleFocus, true ); link.addEventListener( 'blur', toggleFocus, true ); } for ( const link of befold_linksWithChildren ) { link.addEventListener( 'touchstart', toggleFocus, false ); } function toggleFocus() { if ( event.type === 'focus' || event.type === 'blur' ) { let self = this; while ( ! self.classList.contains( 'primary-menu' ) ) { if ( 'li' === self.tagName.toLowerCase() ) { self.classList.toggle( 'focus' ); } self = self.parentNode; } } if ( event.type === 'touchstart' ) { const menuItem = this.parentNode; event.preventDefault(); for ( const link of menuItem.parentNode.children ) { if ( menuItem !== link ) { // link.classList.remove( 'focus' ); } } menuItem.classList.toggle( 'focus' ); } } });