w2works
3/2/2012 - 12:52 PM

gistfile1.js

(function (w) {

	// Define two queues for handlers
	w.readyQ = [];
	w.bindReadyQ = [];

	// Define the fake jQuery function to capture handlers
	w.$ = w.jQuery = function (handler) {

		// Push a handler into the correct queue
		function pushToQ(x, y) {
			if (x == "ready") {
				w.bindReadyQ.push(y);
			} else {
				w.readyQ.push(x);
			}
		}

		if (handler === document || handler === undefined) {
			// Queue $(document).ready(handler), $().ready(handler)
			// and $(document).bind("ready", handler) by returning
			// an object with alias methods for pushToQ
			return {
				ready: pushToQ,
				bind: pushToQ
			};
		} else {
			// Queue $(handler)
			pushToQ(handler);
		}
	}

})(window);