david-d
5/26/2015 - 1:57 PM

a11y focus attribute, helpful for dropdown menus.

a11y focus attribute, helpful for dropdown menus.

'use strict';

// Import Modules
var $ = require('jquery');

// Private

/**
 * Make the data-a11y-focus attr work correctly.
 */
function init() {

	$('[data-a11y-focus]').each( function() {
		var $el = $(this);
		var _focusTimeout;

		$el.on('focusin', function() {
			$el.attr('data-a11y-focus', 'true');
			clearTimeout(_focusTimeout);
		});

		$el.on('focusout', function() {
			_focusTimeout = setTimeout( function() {
				$el.attr('data-a11y-focus', 'false');
			}, 100);
		});
	});
}

module.exports.init = init;