File "keyboard-navigation.js"
Full Path: /home/warrior1/public_html/languages/wp-content/themes/ecommerce-market/assest/js/keyboard-navigation.js
File size: 2.41 KB
MIME-type: text/plain
Charset: utf-8
/**
* File keyboard-navigation.js.
*
* Handles to support keyboar navigation
*/
$ = jQuery
jQuery(document).ready(function () {
//keyboard navigation for mean menu
var myEvents = {
click: function(e) {
if ( jQuery(this).hasClass('menu-item-has-children') ) {
jQuery(this).find('.mean-expand').addClass('mean-clicked').text('-');
}
jQuery(this).siblings('li').find('.mean-expand').removeClass('mean-clicked').text('+');
jQuery(this).children('.sub-menu').show().end().siblings('li').find('ul').hide();
},
keydown: function(e) {
e.stopPropagation();
if (e.keyCode == 9) {
if (!e.shiftKey &&
( jQuery('.mean-bar li').index( jQuery(this) ) == ( jQuery('.mean-bar li').length-1 ) ) ){
jQuery('.meanclose').trigger('click');
} else if( jQuery('.mean-bar li').index( jQuery(this) ) == 0 ) {
$('.meanclose').removeClass('onfocus');
}
else if (e.shiftKey && jQuery('.mean-bar li').index(jQuery(this)) === 0)
jQuery('.mean-bar ul:first > li:last').focus().blur();
}
},
keyup: function(e) {
e.stopPropagation();
if (e.keyCode == 9) {
if (myEvents.cancelKeyup) myEvents.cancelKeyup = false;
else myEvents.click.apply(this, arguments);
}
}
}
jQuery(document)
.on('click', 'li', myEvents.click)
.on('keydown', 'li', myEvents.keydown)
.on('keyup', 'li', myEvents.keyup);
jQuery('.mean-bar li').each(function(i) { this.tabIndex = i; });
/**
* Desktop Hamburger Nav on focus out event
*/
jQuery( '.top-header-menu-wrapper .menu' ).on( 'focusout', function () {
var $elem = jQuery( this );
// let the browser set focus on the newly clicked elem before check
setTimeout(function () {
if ( ! $elem.find( ':focus' ).length ) {
jQuery( '.toggle' ).trigger( 'click' );
}
}, 0);
});
/**
* Header Search from
*/
jQuery( document ).on( 'click','.toggle', function(){
$(this).toggleClass('close');
$(this).closest('.header-menu-holder').toggleClass('menu-open');
});
});