⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jquery-1.2.js

📁 里面包括了一些javascript的常用用法
💻 JS
📖 第 1 页 / 共 5 页
字号:
	jQuery.fn[o] = function(f){		return f ? this.bind(o, f) : this.trigger(o);	};});var readyBound = false;function bindReady(){	if ( readyBound ) return;	readyBound = true;	// If Mozilla is used	if ( jQuery.browser.mozilla || jQuery.browser.opera )		// Use the handy event callback		document.addEventListener( "DOMContentLoaded", jQuery.ready, false );		// If IE is used, use the excellent hack by Matthias Miller	// http://www.outofhanwell.com/blog/index.php?title=the_window_onload_problem_revisited	else if ( jQuery.browser.msie ) {			// Only works if you document.write() it		document.write("<scr" + "ipt id=__ie_init defer=true " + 			"src=//:><\/script>");			// Use the defer script hack		var script = document.getElementById("__ie_init");				// script does not exist if jQuery is loaded dynamically		if ( script ) 			script.onreadystatechange = function() {				if ( this.readyState != "complete" ) return;				jQuery.ready();			};			// Clear from memory		script = null;		// If Safari  is used	} else if ( jQuery.browser.safari )		// Continually check to see if the document.readyState is valid		jQuery.safariTimer = setInterval(function(){			// loaded and complete are both valid states			if ( document.readyState == "loaded" || 				document.readyState == "complete" ) {					// If either one are found, remove the timer				clearInterval( jQuery.safariTimer );				jQuery.safariTimer = null;					// and execute any waiting functions				jQuery.ready();			}		}, 10); 	// A fallback to window.onload, that will always work	jQuery.event.add( window, "load", jQuery.ready );}jQuery.fn.extend({	load: function( url, params, callback ) {		if ( jQuery.isFunction( url ) )			return this.bind("load", url);		var off = url.indexOf(" ");		if ( off >= 0 ) {			var selector = url.slice(off, url.length);			url = url.slice(0, off);		}		callback = callback || function(){};		// Default to a GET request		var type = "GET";		// If the second parameter was provided		if ( params )			// If it's a function			if ( jQuery.isFunction( params ) ) {				// We assume that it's the callback				callback = params;				params = null;			// Otherwise, build a param string			} else {				params = jQuery.param( params );				type = "POST";			}		var self = this;		// Request the remote document		jQuery.ajax({			url: url,			type: type,			data: params,			complete: function(res, status){				// If successful, inject the HTML into all the matched elements				if ( status == "success" || status == "notmodified" )					// See if a selector was specified					self.html( selector ?						// Create a dummy div to hold the results						jQuery("<div/>")							// inject the contents of the document in, removing the scripts							// to avoid any 'Permission Denied' errors in IE							.append(res.responseText.replace(/<script(.|\s)*?\/script>/g, ""))							// Locate the specified elements							.find(selector) :						// If not, just inject the full result						res.responseText );				// Add delay to account for Safari's delay in globalEval				setTimeout(function(){					self.each( callback, [res.responseText, status, res] );				}, 13);			}		});		return this;	},	serialize: function() {		return jQuery.param(this.serializeArray());	},	serializeArray: function() {		return this.map(function(){			return jQuery.nodeName(this, "form") ?				jQuery.makeArray(this.elements) : this;		})		.filter(function(){			return this.name && !this.disabled && 				(this.checked || /select|textarea/i.test(this.nodeName) || 					/text|hidden|password/i.test(this.type));		})		.map(function(i, elem){			var val = jQuery(this).val();			return val == null ? null :				val.constructor == Array ?					jQuery.map( val, function(i, val){						return {name: elem.name, value: val};					}) :					{name: elem.name, value: val};		}).get();	}});// Attach a bunch of functions for handling common AJAX eventsjQuery.each( "ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","), function(i,o){	jQuery.fn[o] = function(f){		return this.bind(o, f);	};});var jsc = (new Date).getTime();jQuery.extend({	get: function( url, data, callback, type ) {		// shift arguments if data argument was ommited		if ( jQuery.isFunction( data ) ) {			callback = data;			data = null;		}				return jQuery.ajax({			type: "GET",			url: url,			data: data,			success: callback,			dataType: type		});	},	getScript: function( url, callback ) {		return jQuery.get(url, null, callback, "script");	},	getJSON: function( url, data, callback ) {		return jQuery.get(url, data, callback, "json");	},	post: function( url, data, callback, type ) {		if ( jQuery.isFunction( data ) ) {			callback = data;			data = {};		}		return jQuery.ajax({			type: "POST",			url: url,			data: data,			success: callback,			dataType: type		});	},	ajaxSetup: function( settings ) {		jQuery.extend( jQuery.ajaxSettings, settings );	},	ajaxSettings: {		global: true,		type: "GET",		timeout: 0,		contentType: "application/x-www-form-urlencoded",		processData: true,		async: true,		data: null	},		// Last-Modified header cache for next request	lastModified: {},	ajax: function( s ) {		var jsonp, jsre = /=(\?|%3F)/g, status, data;		// Extend the settings, but re-extend 's' so that it can be		// checked again later (in the test suite, specifically)		s = jQuery.extend(true, s, jQuery.extend(true, {}, jQuery.ajaxSettings, s));		// convert data if not already a string		if ( s.data && s.processData && typeof s.data != "string" )			s.data = jQuery.param(s.data);		// Break the data into one single string		var q = s.url.indexOf("?");		if ( q > -1 ) {			s.data = (s.data ? s.data + "&" : "") + s.url.slice(q + 1);			s.url = s.url.slice(0, q);		}		// Handle JSONP Parameter Callbacks		if ( s.dataType == "jsonp" ) {			if ( !s.data || !s.data.match(jsre) )				s.data = (s.data ? s.data + "&" : "") + (s.jsonp || "callback") + "=?";			s.dataType = "json";		}		// Build temporary JSONP function		if ( s.dataType == "json" && s.data && s.data.match(jsre) ) {			jsonp = "jsonp" + jsc++;			s.data = s.data.replace(jsre, "=" + jsonp);			// We need to make sure			// that a JSONP style response is executed properly			s.dataType = "script";			// Handle JSONP-style loading			window[ jsonp ] = function(tmp){				data = tmp;				success();				// Garbage collect				window[ jsonp ] = undefined;				try{ delete window[ jsonp ]; } catch(e){}			};		}		if ( s.dataType == "script" && s.cache == null )			s.cache = false;		if ( s.cache === false && s.type.toLowerCase() == "get" )			s.data = (s.data ? s.data + "&" : "") + "_=" + (new Date()).getTime();		// If data is available, append data to url for get requests		if ( s.data && s.type.toLowerCase() == "get" ) {			s.url += "?" + s.data;			// IE likes to send both get and post data, prevent this			s.data = null;		}		// Watch for a new set of requests		if ( s.global && ! jQuery.active++ )			jQuery.event.trigger( "ajaxStart" );		// If we're requesting a remote document		// and trying to load JSON or Script		if ( !s.url.indexOf("http") && s.dataType == "script" ) {			var head = document.getElementsByTagName("head")[0];			var script = document.createElement("script");			script.src = s.url;			// Handle Script loading			if ( !jsonp && (s.success || s.complete) ) {				var done = false;				// Attach handlers for all browsers				script.onload = script.onreadystatechange = function(){					if ( !done && (!this.readyState || 							this.readyState == "loaded" || this.readyState == "complete") ) {						done = true;						success();						complete();						head.removeChild( script );					}				};			}			head.appendChild(script);			// We handle everything using the script element injection			return;		}		var requestDone = false;		// Create the request object; Microsoft failed to properly		// implement the XMLHttpRequest in IE7, so we use the ActiveXObject when it is available		var xml = window.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest();		// Open the socket		xml.open(s.type, s.url, s.async);		// Set the correct header, if data is being sent		if ( s.data )			xml.setRequestHeader("Content-Type", s.contentType);		// Set the If-Modified-Since header, if ifModified mode.		if ( s.ifModified )			xml.setRequestHeader("If-Modified-Since",				jQuery.lastModified[s.url] || "Thu, 01 Jan 1970 00:00:00 GMT" );		// Set header so the called script knows that it's an XMLHttpRequest		xml.setRequestHeader("X-Requested-With", "XMLHttpRequest");		// Allow custom headers/mimetypes		if ( s.beforeSend )			s.beforeSend(xml);					if ( s.global )		    jQuery.event.trigger("ajaxSend", [xml, s]);		// Wait for a response to come back		var onreadystatechange = function(isTimeout){			// The transfer is complete and the data is available, or the request timed out			if ( !requestDone && xml && (xml.readyState == 4 || isTimeout == "timeout") ) {				requestDone = true;								// clear poll interval				if (ival) {					clearInterval(ival);					ival = null;				}								status = isTimeout == "timeout" && "timeout" ||					!jQuery.httpSuccess( xml ) && "error" ||					s.ifModified && jQuery.httpNotModified( xml, s.url ) && "notmodified" ||					"success";				if ( status == "success" ) {					// Watch for, and catch, XML document parse errors					try {						// process the data (runs the xml through httpData regardless of callback)						data = jQuery.httpData( xml, s.dataType );					} catch(e) {						status = "parsererror";					}				}				// Make sure that the request was successful or notmodified				if ( status == "success" ) {					// Cache Last-Modified header, if ifModified mode.					var modRes;					try {						modRes = xml.getResponseHeader("Last-Modified");					} catch(e) {} // swallow exception thrown by FF if header is not available						if ( s.ifModified && modRes )						jQuery.lastModified[s.url] = modRes;					// JSONP handles its own success callback					if ( !jsonp )						success();					} else					jQuery.handleError(s, xml, status);				// Fire the complete handlers				complete();				// Stop memory leaks				if ( s.async )					xml = null;			}		};				if ( s.async ) {			// don't attach the handler to the request, just poll it instead			var ival = setInterval(onreadystatechange, 13); 			// Timeout checker			if ( s.timeout > 0 )				setTimeout(function(){					// Check to see if the request is still happening					if ( xml ) {						// Cancel the request						xml.abort();							if( !requestDone )							onreadystatechange( "timeout" );					}				}, s.timeout);		}					// Send the data		try {			xml.send(s.data);		} catch(e) {			jQuery.handleError(s, xml, null, e);		}				// firefox 1.5 doesn't fire statechange for sync requests		if ( !s.async )			onreadystatechange();				// return XMLHttpRequest to allow aborting the request etc.		return xml;		function success(){			// If a local callback was specified, fire it and pass it the data			if ( s.success )				s.success( data, status );			// Fire the global callback			if ( s.global )				jQuery.event.trigger( "ajaxSuccess", [xml, s] );		}		function complete(){			// Process result			if ( s.complete )				s.complete(xml, status);			// The request was completed			if ( s.global )				jQuery.event.trigger( "ajaxComplete", [xml, s] );			// Handle the global AJAX counter			if ( s.global && ! --jQuery.active )				jQuery.event.trigger( "ajaxStop" );		}	},	handleError: function( s, xml, status, e ) {		// If a local callback was specified, fire it		if ( s.error ) s.error( xml, status, e );		// Fire the global callback		if ( s.global )			jQuery.event.trigger( "ajaxError", [xml, s, e] );	},	// Counter for holding the number of active queries	active: 0,	// Determines if an XMLHttpRequest was successful or not	httpSuccess: function( r ) {		try {			return !r.status && location.protocol == "file:" ||				( r.status >= 200 && r.status < 300 ) || r.status == 304 ||				jQuery.browser.safari && r.status == undefined;		} catch(e){}		return false;	},	// Determines if an XMLHttpRequest returns NotModified	httpNotModified: function( xml, url ) {		try {			var xmlRes = xml.getResponseHeader("Last-Modified");			// Firefox always returns 200. check Last-Modified date			return xml.status == 304 || xmlRes == jQuery.lastModified[url] ||				jQuery.browser.safari && xml.status == undefined;		} catch(e){}		return false;	},	httpData: function( r, type ) {		var ct = r.getResponseHeader("content-type");		var xml = type == "xml" || !type && ct && ct.indexOf("xml") >= 0;		var data = xml ? r.responseXML : r.responseText;		if ( xml && data.documentElement.tagName == "parsererror" )			throw "parsererror";		// If the type is "script", eval it in global context		if ( type == "script" )			jQuery.globalEval( data );		// Get the JavaScript object, if JSON is used.		if ( type == "json" )			data = eval("(" + data

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -