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

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

?? browser.js

?? js基本操作
?? JS
?? 第 1 頁 / 共 2 頁
字號:
/*	Copyright (c) 2004-2006, The Dojo Foundation	All Rights Reserved.	Licensed under the Academic Free License version 2.1 or above OR the	modified BSD license. For more information on Dojo licensing, see:		http://dojotoolkit.org/community/licensing.shtml*/dojo.provide("dojo.event.browser");dojo.require("dojo.event.common");// FIXME: any particular reason this is in the global scope?dojo._ie_clobber = new function(){	this.clobberNodes = [];	function nukeProp(node, prop){		// try{ node.removeAttribute(prop); 	}catch(e){ /* squelch */ }		try{ node[prop] = null; 			}catch(e){ /* squelch */ }		try{ delete node[prop]; 			}catch(e){ /* squelch */ }		// FIXME: JotLive needs this, but I'm not sure if it's too slow or not		try{ node.removeAttribute(prop);	}catch(e){ /* squelch */ }	}	this.clobber = function(nodeRef){		var na;		var tna;		if(nodeRef){			tna = nodeRef.all || nodeRef.getElementsByTagName("*");			na = [nodeRef];			for(var x=0; x<tna.length; x++){				// if we're gonna be clobbering the thing, at least make sure				// we aren't trying to do it twice				if(tna[x]["__doClobber__"]){					na.push(tna[x]);				}			}		}else{			try{ window.onload = null; }catch(e){}			na = (this.clobberNodes.length) ? this.clobberNodes : document.all;		}		tna = null;		var basis = {};		for(var i = na.length-1; i>=0; i=i-1){			var el = na[i];			try{				if(el && el["__clobberAttrs__"]){					for(var j=0; j<el.__clobberAttrs__.length; j++){						nukeProp(el, el.__clobberAttrs__[j]);					}					nukeProp(el, "__clobberAttrs__");					nukeProp(el, "__doClobber__");				}			}catch(e){ /* squelch! */};		}		na = null;	}}if(dojo.render.html.ie){	dojo.addOnUnload(function(){		dojo._ie_clobber.clobber();		try{			if((dojo["widget"])&&(dojo.widget["manager"])){				dojo.widget.manager.destroyAll();			}		}catch(e){}		// Workaround for IE leak recommended in ticket #1727 by schallm		if(dojo.widget){			for(var name in dojo.widget._templateCache){				if(dojo.widget._templateCache[name].node){					dojo.dom.destroyNode(dojo.widget._templateCache[name].node);					dojo.widget._templateCache[name].node = null;					delete dojo.widget._templateCache[name].node;				}			}		}		try{ window.onload = null; }catch(e){}		try{ window.onunload = null; }catch(e){}		dojo._ie_clobber.clobberNodes = [];		// CollectGarbage();	});}dojo.event.browser = new function(){	var clobberIdx = 0;	this.normalizedEventName = function(/*String*/eventName){		switch(eventName){			case "CheckboxStateChange":			case "DOMAttrModified":			case "DOMMenuItemActive":			case "DOMMenuItemInactive":			case "DOMMouseScroll":			case "DOMNodeInserted":			case "DOMNodeRemoved":			case "RadioStateChange":				return eventName;				break;			default:				return eventName.toLowerCase();				break;		}	}		this.clean = function(/*DOMNode*/node){		// summary:		//		removes native event handlers so that destruction of the node		//		will not leak memory. On most browsers this is a no-op, but		//		it's critical for manual node removal on IE.		// node:		//		A DOM node. All of it's children will also be cleaned.		if(dojo.render.html.ie){ 			dojo._ie_clobber.clobber(node);		}	}	this.addClobberNode = function(/*DOMNode*/node){		// summary:		//		register the passed node to support event stripping		// node:		//		A DOM node		if(!dojo.render.html.ie){ return; }		if(!node["__doClobber__"]){			node.__doClobber__ = true;			dojo._ie_clobber.clobberNodes.push(node);			// this might not be the most efficient thing to do, but it's			// much less error prone than other approaches which were			// previously tried and failed			node.__clobberAttrs__ = [];		}	}	this.addClobberNodeAttrs = function(/*DOMNode*/node, /*Array*/props){		// summary:		//		register the passed node to support event stripping		// node:		//		A DOM node to stip properties from later		// props:		//		A list of propeties to strip from the node		if(!dojo.render.html.ie){ return; }		this.addClobberNode(node);		for(var x=0; x<props.length; x++){			node.__clobberAttrs__.push(props[x]);		}	}	this.removeListener = function(	/*DOMNode*/ node, 									/*String*/	evtName, 									/*Function*/fp, 									/*Boolean*/	capture){		// summary:		//		clobbers the listener from the node		// evtName:		//		the name of the handler to remove the function from		// node:		//		DOM node to attach the event to		// fp:		//		the function to register		// capture:		//		Optional. should this listener prevent propigation?		if(!capture){ var capture = false; }		evtName = dojo.event.browser.normalizedEventName(evtName);		if( (evtName == "onkey") || (evtName == "key") ){			if(dojo.render.html.ie){				this.removeListener(node, "onkeydown", fp, capture);			}			evtName = "onkeypress";		}		if(evtName.substr(0,2)=="on"){ evtName = evtName.substr(2); }		// FIXME: this is mostly a punt, we aren't actually doing anything on IE		if(node.removeEventListener){			node.removeEventListener(evtName, fp, capture);		}	}	this.addListener = function(/*DOMNode*/node, /*String*/evtName, /*Function*/fp, /*Boolean*/capture, /*Boolean*/dontFix){		// summary:		//		adds a listener to the node		// evtName:		//		the name of the handler to add the listener to can be either of		//		the form "onclick" or "click"		// node:		//		DOM node to attach the event to		// fp:		//		the function to register		// capture:		//		Optional. Should this listener prevent propigation?		// dontFix:		//		Optional. Should we avoid registering a new closure around the		//		listener to enable fixEvent for dispatch of the registered		//		function?		if(!node){ return; } // FIXME: log and/or bail?		if(!capture){ var capture = false; }		evtName = dojo.event.browser.normalizedEventName(evtName);		if( (evtName == "onkey") || (evtName == "key") ){			if(dojo.render.html.ie){				this.addListener(node, "onkeydown", fp, capture, dontFix);			}			evtName = "onkeypress";		}		if(evtName.substr(0,2)!="on"){ evtName = "on"+evtName; }		if(!dontFix){			// build yet another closure around fp in order to inject fixEvent			// around the resulting event			var newfp = function(evt){				if(!evt){ evt = window.event; }				var ret = fp(dojo.event.browser.fixEvent(evt, this));				if(capture){					dojo.event.browser.stopEvent(evt);				}				return ret;			}		}else{			newfp = fp;		}		if(node.addEventListener){ 			node.addEventListener(evtName.substr(2), newfp, capture);			return newfp;		}else{			if(typeof node[evtName] == "function" ){				var oldEvt = node[evtName];				node[evtName] = function(e){					oldEvt(e);					return newfp(e);				}			}else{				node[evtName]=newfp;			}			if(dojo.render.html.ie){				this.addClobberNodeAttrs(node, [evtName]);			}			return newfp;		}	}	this.isEvent = function(/*Object*/obj){		// summary: 		//		Tries to determine whether or not the object is a DOM event.		// FIXME: event detection hack ... could test for additional attributes		// if necessary		return (typeof obj != "undefined")&&(obj)&&(typeof Event != "undefined")&&(obj.eventPhase); // Boolean		// Event does not support instanceof in Opera, otherwise:		//return (typeof Event != "undefined")&&(obj instanceof Event);	}	this.currentEvent = null;		this.callListener = function(/*Function*/listener, /*DOMNode*/curTarget){		// summary:		//		calls the specified listener in the context of the passed node		//		with the current DOM event object as the only parameter		// listener:		//		the function to call		// curTarget:		//		the Node to call the function in the scope of		if(typeof listener != 'function'){			dojo.raise("listener not a function: " + listener);		}		dojo.event.browser.currentEvent.currentTarget = curTarget;		return listener.call(curTarget, dojo.event.browser.currentEvent);	}	this._stopPropagation = function(){		dojo.event.browser.currentEvent.cancelBubble = true; 	}	this._preventDefault = function(){		dojo.event.browser.currentEvent.returnValue = false;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美成人在线直播| 精品中文字幕一区二区小辣椒| 精品av综合导航| 欧美一区二区三区四区高清| 欧美日韩另类一区| 欧美午夜精品久久久久久超碰| 色婷婷激情综合| 日本道免费精品一区二区三区| 99精品热视频| 色综合天天性综合| 日本韩国视频一区二区| 日本福利一区二区| 欧美精选在线播放| 欧美另类z0zxhd电影| 色婷婷一区二区三区四区| 91福利资源站| 欧美精品v国产精品v日韩精品| 欧美疯狂性受xxxxx喷水图片| 日韩女优av电影| 国产午夜亚洲精品羞羞网站| 欧美激情综合在线| 一区二区三区日韩在线观看| 亚洲国产一区在线观看| 免费看精品久久片| 国产成人免费视频网站高清观看视频| 成人高清伦理免费影院在线观看| k8久久久一区二区三区 | 欧美视频一区在线观看| 国产色婷婷亚洲99精品小说| 国产精品你懂的在线欣赏| 中文字幕字幕中文在线中不卡视频| 一区二区激情视频| 捆绑调教美女网站视频一区| 国产黄人亚洲片| 欧美性猛交xxxxxx富婆| 日韩欧美一级二级三级久久久| 国产日产欧美一区二区三区| 裸体一区二区三区| 秋霞av亚洲一区二区三| 国产一区二区在线看| 成人黄页在线观看| 欧美欧美欧美欧美首页| 久久久99免费| 亚洲精品久久久蜜桃| 麻豆精品视频在线观看免费| av网站免费线看精品| 欧美日韩在线播| 精品剧情在线观看| 亚洲乱码国产乱码精品精可以看| 日韩电影一区二区三区四区| 成人性生交大片免费看中文 | 欧美性猛交一区二区三区精品| 日韩欧美国产三级电影视频| 综合在线观看色| 日韩高清在线观看| 99麻豆久久久国产精品免费| 欧美一区二区三区啪啪| 日本一区二区免费在线观看视频| 亚洲成人免费看| jvid福利写真一区二区三区| 精品久久久久一区| 亚洲国产综合91精品麻豆| 成人教育av在线| 亚洲国产日韩精品| 精品国产电影一区二区 | 蜜芽一区二区三区| 99精品在线免费| www精品美女久久久tv| 亚洲一线二线三线久久久| 高清视频一区二区| 日韩欧美专区在线| 亚洲国产毛片aaaaa无费看| 成人性视频免费网站| 精品国内片67194| 午夜视频久久久久久| 色欧美日韩亚洲| 免费高清在线一区| 欧美日韩一区精品| 亚洲欧美日韩久久精品| 成人激情开心网| 国产喷白浆一区二区三区| 久久激情综合网| 欧美一区二区三区啪啪| 午夜av一区二区三区| 日本道色综合久久| 最好看的中文字幕久久| 成人免费看视频| 国产片一区二区| 国产激情偷乱视频一区二区三区| 日韩三级免费观看| 国产永久精品大片wwwapp| 欧美精选一区二区| 丝袜美腿一区二区三区| 色婷婷综合五月| 亚洲欧美一区二区久久| 99re在线视频这里只有精品| 国产精品的网站| 成人av在线一区二区| 国产女主播一区| 成人成人成人在线视频| 国产精品二区一区二区aⅴ污介绍| 国产成人免费网站| 国产精品嫩草99a| www.视频一区| 亚洲色图欧美激情| 色老汉av一区二区三区| 亚洲综合偷拍欧美一区色| 91黄色免费观看| 亚洲一二三专区| 在线播放/欧美激情| 丝袜诱惑亚洲看片| 日韩欧美在线不卡| 国产一区在线视频| 日本一区二区视频在线| 94色蜜桃网一区二区三区| 亚洲精品成人在线| 欧美三级蜜桃2在线观看| 天天做天天摸天天爽国产一区 | 成人一级片在线观看| 91精品国产欧美一区二区18 | 丁香五精品蜜臀久久久久99网站| 久久久99精品免费观看不卡| 成人在线综合网站| 亚洲天堂中文字幕| 精品污污网站免费看| 日本不卡不码高清免费观看| 精品久久久久久久久久久院品网 | 中文一区二区在线观看| 99精品视频在线播放观看| 一个色在线综合| 91精品婷婷国产综合久久 | 精品少妇一区二区三区在线播放| 国产一区二区三区观看| 亚洲男同性恋视频| 欧美精品777| 国产精品资源在线| 亚洲婷婷在线视频| 日韩一级精品视频在线观看| 福利视频网站一区二区三区| 亚洲男人电影天堂| 欧美一区二区在线视频| 国产91综合一区在线观看| 一区二区视频在线看| 欧美一卡在线观看| 成人激情校园春色| 日本伊人午夜精品| 国产精品欧美极品| 欧美麻豆精品久久久久久| 福利一区福利二区| 亚洲电影第三页| 欧美精品一区二区三区很污很色的| 97久久精品人人做人人爽50路| 视频精品一区二区| 国产精品久久久久久久久动漫 | 亚洲一区二区成人在线观看| 欧美一区二区人人喊爽| 99re热视频这里只精品| 精品一区二区三区免费观看| 亚洲免费观看高清在线观看| 日韩精品一区二区三区视频| 色综合激情久久| 国产精品1区2区| 丝袜脚交一区二区| 国产精品国产自产拍在线| 欧美一级艳片视频免费观看| 91在线云播放| 国产综合成人久久大片91| 一区二区三区中文在线| 久久精品夜夜夜夜久久| 欧美精品在线一区二区| 91高清视频在线| 成人午夜视频网站| 久久精品国产第一区二区三区| 亚洲女人小视频在线观看| 欧美激情中文不卡| 精品少妇一区二区三区免费观看| 在线免费亚洲电影| 波多野结衣的一区二区三区| 激情图区综合网| 日韩精品每日更新| 亚洲综合偷拍欧美一区色| 亚洲丝袜美腿综合| 国产午夜精品福利| 欧美成人欧美edvon| 欧美精品1区2区| 欧美日本一道本在线视频| 色综合久久天天综合网| 成人精品视频一区二区三区| 国产一区二区三区久久久 | 欧美精品久久天天躁| 91色.com| 在线中文字幕一区二区| 国产美女精品在线| 日本欧美韩国一区三区| 亚洲电影激情视频网站| 亚洲午夜在线电影| 亚洲国产精品久久不卡毛片| 亚洲国产精品综合小说图片区| 亚洲天堂2014| 亚洲人成人一区二区在线观看|