亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? jquery-1.2.4a.js

?? jquery in action 的電子書加源碼。對ajax學習很有幫助啊
?? JS
?? 第 1 頁 / 共 5 頁
字號:
			// Store data in unique handler 			handler.data = data;			// Set the guid of unique handler to the same of original handler, so it can be removed 			handler.guid = fn.guid;		}		// Init the element's event structure		var events = jQuery.data(elem, "events") || jQuery.data(elem, "events", {}),			handle = jQuery.data(elem, "handle") || jQuery.data(elem, "handle", function(){				// returned undefined or false				var val;				// Handle the second event of a trigger and when				// an event is called after a page has unloaded				if ( typeof jQuery == "undefined" || jQuery.event.triggered )					return val;						val = jQuery.event.handle.apply(arguments.callee.elem, arguments);						return val;			});		// Add elem as a property of the handle function		// This is to prevent a memory leak with non-native		// event in IE.		handle.elem = elem;						// Handle multiple events seperated by a space			// jQuery(...).bind("mouseover mouseout", fn);			jQuery.each(types.split(/\s+/), function(index, type) {				// Namespaced event handlers				var parts = type.split(".");				type = parts[0];				handler.type = parts[1];				// Get the current list of functions bound to this event				var handlers = events[type];				// Init the event handler queue				if (!handlers) {					handlers = events[type] = {};							// Check for a special event handler					// Only use addEventListener/attachEvent if the special					// events handler returns false					if ( !jQuery.event.special[type] || jQuery.event.special[type].setup.call(elem) === false ) {						// Bind the global event handler to the element						if (elem.addEventListener)							elem.addEventListener(type, handle, false);						else if (elem.attachEvent)							elem.attachEvent("on" + type, handle);					}				}				// Add the function to the element's handler list				handlers[handler.guid] = handler;				// Keep track of which events have been used, for global triggering				jQuery.event.global[type] = true;			});				// Nullify elem to prevent memory leaks in IE		elem = null;	},	guid: 1,	global: {},	// Detach an event or set of events from an element	remove: function(elem, types, handler) {		// don't do events on text and comment nodes		if ( elem.nodeType == 3 || elem.nodeType == 8 )			return;		var events = jQuery.data(elem, "events"), ret, index;		if ( events ) {			// Unbind all events for the element			if ( types == undefined || (typeof types == "string" && types.charAt(0) == ".") )				for ( var type in events )					this.remove( elem, type + (types || "") );			else {				// types is actually an event object here				if ( types.type ) {					handler = types.handler;					types = types.type;				}								// Handle multiple events seperated by a space				// jQuery(...).unbind("mouseover mouseout", fn);				jQuery.each(types.split(/\s+/), function(index, type){					// Namespaced event handlers					var parts = type.split(".");					type = parts[0];										if ( events[type] ) {						// remove the given handler for the given type						if ( handler )							delete events[type][handler.guid];									// remove all handlers for the given type						else							for ( handler in events[type] )								// Handle the removal of namespaced events								if ( !parts[1] || events[type][handler].type == parts[1] )									delete events[type][handler];						// remove generic event handler if no more handlers exist						for ( ret in events[type] ) break;						if ( !ret ) {							if ( !jQuery.event.special[type] || jQuery.event.special[type].teardown.call(elem) === false ) {								if (elem.removeEventListener)									elem.removeEventListener(type, jQuery.data(elem, "handle"), false);								else if (elem.detachEvent)									elem.detachEvent("on" + type, jQuery.data(elem, "handle"));							}							ret = null;							delete events[type];						}					}				});			}			// Remove the expando if it's no longer used			for ( ret in events ) break;			if ( !ret ) {				var handle = jQuery.data( elem, "handle" );				if ( handle ) handle.elem = null;				jQuery.removeData( elem, "events" );				jQuery.removeData( elem, "handle" );			}		}	},	trigger: function(type, data, elem, donative, extra) {		// Clone the incoming data, if any		data = jQuery.makeArray(data || []);		if ( type.indexOf("!") >= 0 ) {			type = type.slice(0, -1);			var exclusive = true;		}		// Handle a global trigger		if ( !elem ) {			// Only trigger if we've ever bound an event for it			if ( this.global[type] )				jQuery("*").add([window, document]).trigger(type, data);		// Handle triggering a single element		} else {			// don't do events on text and comment nodes			if ( elem.nodeType == 3 || elem.nodeType == 8 )				return undefined;			var val, ret, fn = jQuery.isFunction( elem[ type ] || null ),				// Check to see if we need to provide a fake event, or not				event = !data[0] || !data[0].preventDefault;						// Pass along a fake event			if ( event )				data.unshift( this.fix({ type: type, target: elem }) );			// Enforce the right trigger type			data[0].type = type;			if ( exclusive )				data[0].exclusive = true;			// Trigger the event			if ( jQuery.isFunction( jQuery.data(elem, "handle") ) )				val = jQuery.data(elem, "handle").apply( elem, data );			// Handle triggering native .onfoo handlers			if ( !fn && elem["on"+type] && elem["on"+type].apply( elem, data ) === false )				val = false;			// Extra functions don't get the custom event object			if ( event )				data.shift();			// Handle triggering of extra function			if ( extra && jQuery.isFunction( extra ) ) {				// call the extra function and tack the current return value on the end for possible inspection				ret = extra.apply( elem, val == null ? data : data.concat( val ) );				// if anything is returned, give it precedence and have it overwrite the previous value				if (ret !== undefined)					val = ret;			}			// Trigger the native events (except for clicks on links)			if ( fn && donative !== false && val !== false && !(jQuery.nodeName(elem, 'a') && type == "click") ) {				this.triggered = true;				try {					elem[ type ]();				// prevent IE from throwing an error for some hidden elements				} catch (e) {}			}			this.triggered = false;		}		return val;	},	handle: function(event) {		// returned undefined or false		var val;		// Empty object is for triggered events with no data		event = jQuery.event.fix( event || window.event || {} ); 		// Namespaced event handlers		var parts = event.type.split(".");		event.type = parts[0];		var handlers = jQuery.data(this, "events") && jQuery.data(this, "events")[event.type], args = Array.prototype.slice.call( arguments, 1 );		args.unshift( event );		for ( var j in handlers ) {			var handler = handlers[j];			// Pass in a reference to the handler function itself			// So that we can later remove it			args[0].handler = handler;			args[0].data = handler.data;			// Filter the functions by class			if ( !parts[1] && !event.exclusive || handler.type == parts[1] ) {				var ret = handler.apply( this, args );				if ( val !== false )					val = ret;				if ( ret === false ) {					event.preventDefault();					event.stopPropagation();				}			}		}		// Clean up added properties in IE to prevent memory leak		if (jQuery.browser.msie)			event.target = event.preventDefault = event.stopPropagation =				event.handler = event.data = null;		return val;	},	fix: function(event) {		// store a copy of the original event object 		// and clone to set read-only properties		var originalEvent = event;		event = jQuery.extend({}, originalEvent);				// add preventDefault and stopPropagation since 		// they will not work on the clone		event.preventDefault = function() {			// if preventDefault exists run it on the original event			if (originalEvent.preventDefault)				originalEvent.preventDefault();			// otherwise set the returnValue property of the original event to false (IE)			originalEvent.returnValue = false;		};		event.stopPropagation = function() {			// if stopPropagation exists run it on the original event			if (originalEvent.stopPropagation)				originalEvent.stopPropagation();			// otherwise set the cancelBubble property of the original event to true (IE)			originalEvent.cancelBubble = true;		};				// Fix target property, if necessary		if ( !event.target )			event.target = event.srcElement || document; // Fixes #1925 where srcElement might not be defined either						// check if target is a textnode (safari)		if ( event.target.nodeType == 3 )			event.target = originalEvent.target.parentNode;		// Add relatedTarget, if necessary		if ( !event.relatedTarget && event.fromElement )			event.relatedTarget = event.fromElement == event.target ? event.toElement : event.fromElement;		// Calculate pageX/Y if missing and clientX/Y available		if ( event.pageX == null && event.clientX != null ) {			var doc = document.documentElement, body = document.body;			event.pageX = event.clientX + (doc && doc.scrollLeft || body && body.scrollLeft || 0) - (doc.clientLeft || 0);			event.pageY = event.clientY + (doc && doc.scrollTop || body && body.scrollTop || 0) - (doc.clientTop || 0);		}					// Add which for key events		if ( !event.which && ((event.charCode || event.charCode === 0) ? event.charCode : event.keyCode) )			event.which = event.charCode || event.keyCode;				// Add metaKey to non-Mac browsers (use ctrl for PC's and Meta for Macs)		if ( !event.metaKey && event.ctrlKey )			event.metaKey = event.ctrlKey;		// Add which for click: 1 == left; 2 == middle; 3 == right		// Note: button is not normalized, so don't use it		if ( !event.which && event.button )			event.which = (event.button & 1 ? 1 : ( event.button & 2 ? 3 : ( event.button & 4 ? 2 : 0 ) ));					return event;	},		special: {		ready: {			setup: function() {				// Make sure the ready event is setup				bindReady();				return;			},						teardown: function() { return; }		},				mouseenter: {			setup: function() {				if ( jQuery.browser.msie ) return false;				jQuery(this).bind("mouseover", jQuery.event.special.mouseenter.handler);				return true;			},					teardown: function() {				if ( jQuery.browser.msie ) return false;				jQuery(this).unbind("mouseover", jQuery.event.special.mouseenter.handler);				return true;			},						handler: function(event) {				// If we actually just moused on to a sub-element, ignore it				if ( withinElement(event, this) ) return true;				// Execute the right handlers by setting the event type to mouseenter				arguments[0].type = "mouseenter";				return jQuery.event.handle.apply(this, arguments);			}		},			mouseleave: {			setup: function() {				if ( jQuery.browser.msie ) return false;				jQuery(this).bind("mouseout", jQuery.event.special.mouseleave.handler);				return true;			},					teardown: function() {				if ( jQuery.browser.msie ) return false;				jQuery(this).unbind("mouseout", jQuery.event.special.mouseleave.handler);				return true;			},						handler: function(event) {				// If we actually just moused on to a sub-element, ignore it				if ( withinElement(event, this) ) return true;				// Execute the right handlers by setting the event type to mouseleave				arguments[0].type = "mouseleave";				return jQuery.event.handle.apply(this, arguments);			}		}	}};jQuery.fn.extend({	bind: function( type, data, fn ) {		return type == "unload" ? this.one(type, data, fn) : this.each(function(){			jQuery.event.add( this, type, fn || data, fn && data );		});	},		one: function( type, data, fn ) {		return this.each(function(){			jQuery.event.add( this, type, function(event) {				jQuery(this).unbind(event);				return (fn || data).apply( this, arguments);			}, fn && data);		});	},	unbind: function( type, fn ) {		return this.each(function(){			jQuery.event.remove( this, type, fn );		});	},	trigger: function( type, data, fn ) {		return this.each(function(){			jQuery.event.trigger( type, data, this, true, fn );		});	},	triggerHandler: function( type, data, fn ) {		if ( this[0] )			return jQuery.event.trigger( type, data, this[0], false, fn );		return undefined;	},	toggle: function() {		// Save reference to arguments for access in closure		var args = arguments;		return this.click(function(event) {			// Figure out which function to execute			this.lastToggle = 0 == this.lastToggle ? 1 : 0;						// Make sure that clicks stop			event.preventDefault();						// and execute the function			return args[this.lastToggle].apply( this, arguments ) || false;		});	},	hover: function(fnOver, fnOut) {		return this.bind('mouseenter', fnOver).bind('mouseleave', fnOut);	},		ready: function(fn) {		// Attach the listeners		bindReady();		// If the DOM is already ready		if ( jQuery.isReady )			// Execute the function immediately			fn.call( document, jQuery );					// Otherwise, remember the function for later		else			// Add the function to the wait list			jQuery.readyList.push( function() { return fn.call(this, jQuery); } );			return this;	}});jQuery.extend({	isReady: false,	readyList: [],	// Handle when the DOM is ready	ready: function() {		// Make sure that the DOM is not already loaded		if ( !jQuery.isReady ) {			// Remember that the DOM is ready			jQuery.isReady = true;						// If there are functions bound, to execute			if ( jQuery.readyList ) {				// Execute all of them				jQuery.each( jQuery.readyList, function(){					this.apply( document );				});								// Reset the list of functions				jQuery.readyList = null;			}					// Trigger any bound ready

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91视频在线观看免费| 国产亚洲精品aa| 久久精品亚洲麻豆av一区二区| 亚洲欧美一区二区三区极速播放 | 中文字幕永久在线不卡| 亚洲一区欧美一区| 成人性生交大片免费看视频在线| 欧美日高清视频| 日韩毛片在线免费观看| 激情欧美一区二区三区在线观看| 一本一道波多野结衣一区二区| 精品国产乱码久久久久久久久| 亚洲综合免费观看高清在线观看| 国产成人av电影| 精品国产sm最大网站免费看| 亚洲1区2区3区视频| 色吊一区二区三区| 中文字幕在线观看不卡| 国产精品一区一区三区| 亚洲精品一线二线三线无人区| 一区二区三区不卡视频| 成人黄色免费短视频| 国产女同互慰高潮91漫画| 精品一区二区三区久久| 欧美xxxxxxxx| 国产一区视频导航| 2023国产精品| 99精品欧美一区| 国产精品另类一区| 大美女一区二区三区| 国产农村妇女精品| 成人开心网精品视频| 亚洲国产精华液网站w| 国产成人精品三级| 国产日韩影视精品| 成人综合婷婷国产精品久久蜜臀 | 在线不卡一区二区| 午夜欧美2019年伦理| 欧美少妇一区二区| 亚洲18影院在线观看| 91精品久久久久久久91蜜桃| 日日摸夜夜添夜夜添亚洲女人| 欧美日韩精品一区视频| 亚洲国产视频网站| 欧美一区二区性放荡片| 麻豆精品视频在线观看视频| 久久久国产一区二区三区四区小说 | 精品亚洲欧美一区| 久久综合九色综合欧美就去吻| 精品制服美女丁香| 久久美女艺术照精彩视频福利播放| 国产一区二区免费视频| 欧美激情综合在线| 在线欧美小视频| 免费高清在线视频一区·| 精品精品国产高清a毛片牛牛 | 国产欧美日韩综合| 99精品一区二区| 夜色激情一区二区| 欧美大黄免费观看| 成人免费观看视频| 亚洲一区二区三区在线播放| 欧美一区二区三区系列电影| 国产精品自拍网站| 亚洲一区二区在线免费观看视频| 欧美一区二区三区电影| 成人网页在线观看| 五月天视频一区| 国产午夜久久久久| 91黄色免费网站| 九九**精品视频免费播放| 亚洲日本在线天堂| 欧美一级精品在线| 99久久久久久| 精品中文字幕一区二区小辣椒| 亚洲欧美日韩久久| 精品伦理精品一区| 色国产综合视频| 国产在线精品国自产拍免费| 亚洲一卡二卡三卡四卡无卡久久| 精品精品国产高清a毛片牛牛| 日本精品一区二区三区四区的功能| 久久精工是国产品牌吗| 一区二区三区在线视频播放| 久久久精品国产免大香伊| 欧美肥大bbwbbw高潮| 不卡的电视剧免费网站有什么| 免费高清在线一区| 亚洲成人免费看| 亚洲欧洲日韩在线| 日韩三级精品电影久久久| 91捆绑美女网站| 国产91精品在线观看| 久久精品理论片| 热久久国产精品| 亚洲福利国产精品| 亚洲精品视频观看| 亚洲国产成人午夜在线一区| 日韩欧美的一区二区| 欧美日韩免费视频| 色欧美乱欧美15图片| 国产美女精品一区二区三区| 调教+趴+乳夹+国产+精品| 亚洲精品一卡二卡| 亚洲欧美日韩久久| 亚洲欧洲中文日韩久久av乱码| 欧美经典一区二区| 日韩免费视频一区二区| 91麻豆精品国产91| 欧美一激情一区二区三区| 在线成人免费视频| 欧美精品一二三区| 911国产精品| 日韩一区二区免费电影| 3d成人动漫网站| 欧美一区二区成人| 91精品国产综合久久小美女| 制服丝袜亚洲色图| 91麻豆精品91久久久久久清纯| 欧美精品在线观看播放| 7777精品伊人久久久大香线蕉的| 欧美日韩高清在线播放| 欧美精品自拍偷拍动漫精品| 日韩视频不卡中文| 精品少妇一区二区三区日产乱码 | 91激情五月电影| 91福利在线看| 在线观看91av| 精品欧美一区二区三区精品久久| 精品嫩草影院久久| 中文字幕巨乱亚洲| 一区二区三区欧美日韩| 亚洲电影一级黄| 精品一二三四区| 成人91在线观看| 欧美日韩国产123区| 日韩免费视频线观看| 国产亚洲精品久| 亚洲国产一二三| 蜜桃久久久久久久| 国产91高潮流白浆在线麻豆| 99久久精品一区二区| 欧美色倩网站大全免费| 欧美tk—视频vk| 亚洲精品自拍动漫在线| 免费观看久久久4p| av网站一区二区三区| 777亚洲妇女| 中文字幕一区在线观看视频| 天天综合日日夜夜精品| 处破女av一区二区| 欧美美女直播网站| 国产日韩在线不卡| 天堂资源在线中文精品| 国产一区二区三区av电影| 色94色欧美sute亚洲线路二| 日韩三级免费观看| 一二三四社区欧美黄| 国产一区二区电影| 欧美老女人在线| 亚洲日穴在线视频| 国产一区二区三区精品欧美日韩一区二区三区 | 亚洲已满18点击进入久久| 久久精品国产在热久久| 99精品偷自拍| 久久久噜噜噜久久人人看| 亚洲自拍偷拍欧美| 成人自拍视频在线| 欧美一区二区三区免费观看视频 | 美女被吸乳得到大胸91| 99久久婷婷国产综合精品电影| 在线成人av影院| 一区二区三区中文在线| 国产高清无密码一区二区三区| 欧美日韩成人在线一区| 国产精品视频一区二区三区不卡| 日本免费新一区视频| 在线观看视频欧美| 亚洲婷婷综合久久一本伊一区| 国产成人在线网站| 正在播放亚洲一区| 亚洲亚洲人成综合网络| 91同城在线观看| 欧美国产综合色视频| 久久 天天综合| 日韩亚洲欧美中文三级| 亚洲成人动漫在线免费观看| 色综合久久久久综合体桃花网| 中文字幕精品在线不卡| 国产精品91xxx| 国产亚洲精品中文字幕| 国模少妇一区二区三区| 日韩视频免费观看高清完整版 | 日韩高清在线一区| 欧美色爱综合网| 亚洲一区二区高清| 欧美中文一区二区三区| 亚洲高清免费在线| 欧美日韩电影一区| 免费在线欧美视频|