OWL ITS + 탐지시스템(인터넷 진흥원)
이민희
2022-01-13 4545664bbece1b1b185945376b344b1660669a53
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
/*!
 * jQuery UI Focusable 1.12.1
 * http://jqueryui.com
 *
 * Copyright jQuery Foundation and other contributors
 * Released under the MIT license.
 * http://jquery.org/license
 */
 
//>>label: :focusable Selector
//>>group: Core
//>>description: Selects elements which can be focused.
//>>docs: http://api.jqueryui.com/focusable-selector/
 
( function( factory ) {
    if ( typeof define === "function" && define.amd ) {
 
        // AMD. Register as an anonymous module.
        define( [ "jquery", "./version" ], factory );
    } else {
 
        // Browser globals
        factory( jQuery );
    }
} ( function( $ ) {
 
// Selectors
$.ui.focusable = function( element, hasTabindex ) {
    var map, mapName, img, focusableIfVisible, fieldset,
        nodeName = element.nodeName.toLowerCase();
 
    if ( "area" === nodeName ) {
        map = element.parentNode;
        mapName = map.name;
        if ( !element.href || !mapName || map.nodeName.toLowerCase() !== "map" ) {
            return false;
        }
        img = $( "img[usemap='#" + mapName + "']" );
        return img.length > 0 && img.is( ":visible" );
    }
 
    if ( /^(input|select|textarea|button|object)$/.test( nodeName ) ) {
        focusableIfVisible = !element.disabled;
 
        if ( focusableIfVisible ) {
 
            // Form controls within a disabled fieldset are disabled.
            // However, controls within the fieldset's legend do not get disabled.
            // Since controls generally aren't placed inside legends, we skip
            // this portion of the check.
            fieldset = $( element ).closest( "fieldset" )[ 0 ];
            if ( fieldset ) {
                focusableIfVisible = !fieldset.disabled;
            }
        }
    } else if ( "a" === nodeName ) {
        focusableIfVisible = element.href || hasTabindex;
    } else {
        focusableIfVisible = hasTabindex;
    }
 
    return focusableIfVisible && $( element ).is( ":visible" ) && visible( $( element ) );
};
 
// Support: IE 8 only
// IE 8 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";
}
 
$.extend( $.expr[ ":" ], {
    focusable: function( element ) {
        return $.ui.focusable( element, $.attr( element, "tabindex" ) != null );
    }
} );
 
return $.ui.focusable;
 
} ) );