亚洲欧美第一页_禁久久精品乱码_粉嫩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激情成人网| 一本色道久久综合狠狠躁的推荐| 1000部国产精品成人观看| 欧美色视频在线观看| 国产成人免费高清| 三级不卡在线观看| 亚洲欧美国产三级| 国产精品视频免费看| 日韩欧美卡一卡二| 欧美日韩一级片在线观看| 亚洲在线视频免费观看| 91麻豆自制传媒国产之光| 国产亚洲一区二区三区在线观看| 亚洲精品欧美在线| 99久久精品一区二区| 精久久久久久久久久久| 亚洲成av人在线观看| 国产一区二区精品久久99| 黄网站免费久久| 奇米影视在线99精品| 欧美色倩网站大全免费| 一区二区三区中文免费| 精品少妇一区二区三区日产乱码 | 欧美日本一区二区三区四区 | 国产一区激情在线| 国产麻豆精品久久一二三| 精品福利在线导航| 久久成人免费网| 精品88久久久久88久久久| 久久精品国产第一区二区三区| 91年精品国产| 亚洲乱码日产精品bd | 久久精品国内一区二区三区| 99国产精品99久久久久久| 久久99精品久久久久久国产越南| 国产白丝精品91爽爽久久| 精品sm在线观看| 欧美中文字幕亚洲一区二区va在线 | 成人亚洲精品久久久久软件| 国产剧情一区在线| 丁香亚洲综合激情啪啪综合| 99国内精品久久| 亚洲一区成人在线| 国产精品视频线看| 中文字幕欧美一| 精品成人a区在线观看| 精品亚洲国产成人av制服丝袜| 欧美视频自拍偷拍| 成人午夜电影久久影院| 一区二区三区日韩欧美| 亚洲欧洲美洲综合色网| 欧美日韩精品欧美日韩精品一综合| 老司机免费视频一区二区| 日韩成人一级大片| 日韩av一二三| 美国十次综合导航| 黑人精品欧美一区二区蜜桃 | 久久99国产精品久久99| 美国毛片一区二区三区| 精品一区二区三区在线播放| 国产专区欧美精品| 国产裸体歌舞团一区二区| 丁香桃色午夜亚洲一区二区三区| 成人午夜av在线| 欧美视频一区二区三区四区 | 亚洲欧美日韩一区| 午夜精品123| 久久国产欧美日韩精品| 日韩国产精品久久久久久亚洲| 欧美一区二区三区在线观看视频| 韩国精品主播一区二区在线观看 | 久久在线免费观看| 日本久久电影网| 不卡一区二区中文字幕| 性做久久久久久久免费看| 亚洲一区二区三区四区不卡| 亚洲精品国产一区二区精华液| 久久久久国产一区二区三区四区 | 亚洲黄色尤物视频| 久久99精品久久久久| av福利精品导航| 欧美精品乱人伦久久久久久| 国产三级三级三级精品8ⅰ区| 亚洲精品中文字幕在线观看| 日韩成人精品在线| 欧美色中文字幕| 中文字幕一区免费在线观看| 久久99国产精品久久99 | 国产一区三区三区| 欧美体内she精视频| 中文字幕一区二区三区视频| 精品一区二区三区的国产在线播放 | 日韩成人一级片| 精品视频一区三区九区| 欧美极品aⅴ影院| 国产一区二区三区综合| 日韩欧美一区二区在线视频| 亚洲一区在线观看网站| 成人黄色大片在线观看| 在线不卡欧美精品一区二区三区| 椎名由奈av一区二区三区| 国产精品一区不卡| 国产日本欧美一区二区| av电影天堂一区二区在线 | 久久综合九色综合久久久精品综合 | 亚洲一区二区三区四区的| 99久久久国产精品| 一本大道久久a久久精二百| 日本不卡视频在线观看| 91麻豆精品国产| 亚洲欧洲美洲综合色网| 麻豆精品在线播放| 欧美在线你懂的| 欧美一区二区视频在线观看2022| 奇米色一区二区| 欧美日韩电影一区| 亚洲日本在线视频观看| 99精品欧美一区二区三区综合在线| 肉色丝袜一区二区| 26uuu另类欧美亚洲曰本| 国产福利一区二区三区| 欧美国产成人精品| 日本一区二区不卡视频| 99re亚洲国产精品| 日韩黄色免费网站| 国产欧美日韩视频一区二区| 在线观看成人小视频| 蜜桃av一区二区三区| 国产精品天干天干在观线| 欧美视频在线一区| 国产成人精品免费一区二区| 亚洲主播在线播放| 国产女同性恋一区二区| 欧美视频一区在线| 国产精品一区二区在线观看不卡| 怡红院av一区二区三区| 久久嫩草精品久久久久| 欧美色欧美亚洲另类二区| 成人午夜激情片| 久久99精品久久久久久国产越南| 一区二区三区在线视频观看 | 成人av电影在线网| 激情五月激情综合网| 日韩在线一区二区三区| 亚洲欧美日韩国产一区二区三区| 国产亲近乱来精品视频| 欧美精品一区二区三区在线| 欧美成人综合网站| 日韩亚洲欧美一区| 欧美一卡2卡三卡4卡5免费| 欧美色综合影院| 欧美日韩国产不卡| 欧美一区欧美二区| 6080yy午夜一二三区久久| 欧美日韩国产中文| 欧美日韩aaaaa| 日韩欧美国产成人一区二区| 欧美mv日韩mv国产网站| 久久久久国产成人精品亚洲午夜| 日韩一区二区免费视频| 成人高清视频免费观看| 在线区一区二视频| 久久亚洲精品小早川怜子| 日韩一区二区三区在线视频| 欧美久久久一区| 久久久噜噜噜久久人人看| 欧美剧情片在线观看| 99re这里只有精品视频首页| 精品影视av免费| 久久丁香综合五月国产三级网站| 亚洲精品免费在线| 中文字幕一区二| 无吗不卡中文字幕| 久久黄色级2电影| 成人一级黄色片| 777xxx欧美| 国产精品国产三级国产普通话三级 | 亚洲成人免费看| 久久精品国产一区二区三 | 国产成人精品综合在线观看| 99久久er热在这里只有精品15| 欧美日韩一区视频| 综合色天天鬼久久鬼色| 黄网站免费久久| 欧美影视一区在线| 亚洲欧洲99久久| 国产高清一区日本| 欧美tickling挠脚心丨vk| 亚洲一区二区在线免费观看视频 | 亚洲在线视频免费观看| 国产麻豆精品theporn| 成人av免费观看| 精品久久一区二区| 精品一区二区三区香蕉蜜桃| 欧美日韩在线亚洲一区蜜芽| 亚洲女同女同女同女同女同69| 国产成人自拍在线| 欧美激情一区二区三区四区| 国产精品1区2区3区| 国产日韩欧美一区二区三区乱码|