Blame view

app/bower_components/jquery/src/core/ready-no-deferred.js 2.33 KB
4c897d181   Truong LD   remove dist + bow...
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
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
  define( [
  	"../core",
  	"../var/document"
  ], function( jQuery, document ) {
  
  "use strict";
  
  var readyCallbacks = [],
  	whenReady = function( fn ) {
  		readyCallbacks.push( fn );
  	},
  	executeReady = function( fn ) {
  
  		// Prevent errors from freezing future callback execution (gh-1823)
  		// Not backwards-compatible as this does not execute sync
  		window.setTimeout( function() {
  			fn.call( document, jQuery );
  		} );
  	};
  
  jQuery.fn.ready = function( fn ) {
  	whenReady( fn );
  	return this;
  };
  
  jQuery.extend( {
  
  	// Is the DOM ready to be used? Set to true once it occurs.
  	isReady: false,
  
  	// A counter to track how many items to wait for before
  	// the ready event fires. See #6781
  	readyWait: 1,
  
  	// Hold (or release) the ready event
  	holdReady: function( hold ) {
  		if ( hold ) {
  			jQuery.readyWait++;
  		} else {
  			jQuery.ready( true );
  		}
  	},
  
  	ready: function( wait ) {
  
  		// Abort if there are pending holds or we're already ready
  		if ( wait === true ? --jQuery.readyWait : jQuery.isReady ) {
  			return;
  		}
  
  		// Remember that the DOM is ready
  		jQuery.isReady = true;
  
  		// If a normal DOM Ready event fired, decrement, and wait if need be
  		if ( wait !== true && --jQuery.readyWait > 0 ) {
  			return;
  		}
  
  		whenReady = function( fn ) {
  			readyCallbacks.push( fn );
  
  			while ( readyCallbacks.length ) {
  				fn = readyCallbacks.shift();
  				if ( jQuery.isFunction( fn ) ) {
  					executeReady( fn );
  				}
  			}
  		};
  
  		whenReady();
  	}
  } );
  
  // Make jQuery.ready Promise consumable (gh-1778)
  jQuery.ready.then = jQuery.fn.ready;
  
  /**
   * The ready event handler and self cleanup method
   */
  function completed() {
  	document.removeEventListener( "DOMContentLoaded", completed );
  	window.removeEventListener( "load", completed );
  	jQuery.ready();
  }
  
  // Catch cases where $(document).ready() is called
  // after the browser event has already occurred.
  // Support: IE9-10 only
  // Older IE sometimes signals "interactive" too soon
  if ( document.readyState === "complete" ||
  	( document.readyState !== "loading" && !document.documentElement.doScroll ) ) {
  
  	// Handle it asynchronously to allow scripts the opportunity to delay ready
  	window.setTimeout( jQuery.ready );
  
  } else {
  
  	// Use the handy event callback
  	document.addEventListener( "DOMContentLoaded", completed );
  
  	// A fallback to window.onload, that will always work
  	window.addEventListener( "load", completed );
  }
  
  } );