Skip to content

Instantly share code, notes, and snippets.

@Alex1990
Last active November 30, 2015 05:15
Show Gist options
  • Save Alex1990/f086a23bca98672486ca to your computer and use it in GitHub Desktop.
Save Alex1990/f086a23bca98672486ca to your computer and use it in GitHub Desktop.
/**
* Add `:focusable` selector. (From jQuery UI)
*/
$.extend($.expr[':'], {
focusable: function(element) {
var hasTabIndex = $.attr(element, 'tabindex') != null;
var nodeName = element.nodeName.toLowerCase();
return (/^input|textarea|select|button$/.test(nodeName)
? !element.disabled
: ('a' === nodeName
? element.href || hasTabIndex
: hasTabIndex)
) && $(element).is(':visible') && visible($(element));
}
});
// IE8 only
// IE8 doesn't resolve inherit to visible/hidden for computed values.
function visible(element) {
var visibility = element.css('visibility');
while (visibility === 'inherit') {
element = element.parent();
visibility = element.css('visibility');
}
return visibility !== 'hidden';
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment