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

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

?? domwidget.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.widget.DomWidget");dojo.require("dojo.event.*");dojo.require("dojo.widget.Widget");dojo.require("dojo.dom");dojo.require("dojo.xml.Parse");dojo.require("dojo.uri.*");dojo.require("dojo.lang.func");dojo.require("dojo.lang.extras");dojo.widget._cssFiles = {};dojo.widget._cssStrings = {};dojo.widget._templateCache = {};dojo.widget.defaultStrings = {	dojoRoot: dojo.hostenv.getBaseScriptUri(),	baseScriptUri: dojo.hostenv.getBaseScriptUri()};dojo.widget.buildFromTemplate = function() {	dojo.lang.forward("fillFromTemplateCache");}// static method to build from a template w/ or w/o a real widget in placedojo.widget.fillFromTemplateCache = function(obj, templatePath, templateCssPath, templateString, avoidCache){	// dojo.debug("avoidCache:", avoidCache);	var tpath = templatePath || obj.templatePath;	var cpath = templateCssPath || obj.templateCssPath;	// DEPRECATED: use Uri objects, not strings	if (tpath && !(tpath instanceof dojo.uri.Uri)) {		tpath = dojo.uri.dojoUri(tpath);		dojo.deprecated("templatePath should be of type dojo.uri.Uri", null, "0.4");	}	if (cpath && !(cpath instanceof dojo.uri.Uri)) {		cpath = dojo.uri.dojoUri(cpath);		dojo.deprecated("templateCssPath should be of type dojo.uri.Uri", null, "0.4");	}		var tmplts = dojo.widget._templateCache;	if(!obj["widgetType"]) { // don't have a real template here		do {			var dummyName = "__dummyTemplate__" + dojo.widget._templateCache.dummyCount++;		} while(tmplts[dummyName]);		obj.widgetType = dummyName;	}	var wt = obj.widgetType;	if(cpath && !dojo.widget._cssFiles[cpath.toString()]){		if((!obj.templateCssString)&&(cpath)){			obj.templateCssString = dojo.hostenv.getText(cpath);			obj.templateCssPath = null;		}		if((obj["templateCssString"])&&(!obj.templateCssString["loaded"])){			dojo.style.insertCssText(obj.templateCssString, null, cpath);			if(!obj.templateCssString){ obj.templateCssString = ""; }			obj.templateCssString.loaded = true;		}		dojo.widget._cssFiles[cpath.toString()] = true;	}	var ts = tmplts[wt];	if(!ts){		tmplts[wt] = { "string": null, "node": null };		if(avoidCache){			ts = {};		}else{			ts = tmplts[wt];		}	}	if((!obj.templateString)&&(!avoidCache)){		obj.templateString = templateString || ts["string"];	}	if((!obj.templateNode)&&(!avoidCache)){		obj.templateNode = ts["node"];	}	if((!obj.templateNode)&&(!obj.templateString)&&(tpath)){		// fetch a text fragment and assign it to templateString		// NOTE: we rely on blocking IO here!		var tstring = dojo.hostenv.getText(tpath);		if(tstring){			// strip <?xml ...?> declarations so that external SVG and XML			// documents can be added to a document without worry			tstring = tstring.replace(/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im, "");			var matches = tstring.match(/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im);			if(matches){				tstring = matches[1];			}		}else{			tstring = "";		}		obj.templateString = tstring;		if(!avoidCache){			tmplts[wt]["string"] = tstring;		}	}	if((!ts["string"])&&(!avoidCache)){		ts.string = obj.templateString;	}}dojo.widget._templateCache.dummyCount = 0;dojo.widget.attachProperties = ["dojoAttachPoint", "id"];dojo.widget.eventAttachProperty = "dojoAttachEvent";dojo.widget.onBuildProperty = "dojoOnBuild";dojo.widget.waiNames  = ["waiRole", "waiState"];dojo.widget.wai = {	waiRole: { 	name: "waiRole", 				namespace: "http://www.w3.org/TR/xhtml2", 				alias: "x2",				prefix: "wairole:",				nsName: "role"	},	waiState: { name: "waiState", 				namespace: "http://www.w3.org/2005/07/aaa" , 				alias: "aaa",				prefix: "",				nsName: "state"	},	setAttr: function(node, attr, value){		if(dojo.render.html.ie){			node.setAttribute(this[attr].alias+":"+this[attr].nsName, this[attr].prefix+value);		}else{			node.setAttributeNS(this[attr].namespace, this[attr].nsName, this[attr].prefix+value);		}	}};dojo.widget.attachTemplateNodes = function(rootNode, targetObj, events){	// FIXME: this method is still taking WAAAY too long. We need ways of optimizing:	//	a.) what we are looking for on each node	//	b.) the nodes that are subject to interrogation (use xpath instead?)	//	c.) how expensive event assignment is (less eval(), more connect())	// var start = new Date();	var elementNodeType = dojo.dom.ELEMENT_NODE;	function trim(str){		return str.replace(/^\s+|\s+$/g, "");	}	if(!rootNode){ 		rootNode = targetObj.domNode;	}	if(rootNode.nodeType != elementNodeType){		return;	}	// alert(events.length);	var nodes = rootNode.all || rootNode.getElementsByTagName("*");	var _this = targetObj;	for(var x=-1; x<nodes.length; x++){		var baseNode = (x == -1) ? rootNode : nodes[x];		// FIXME: is this going to have capitalization problems?  Could use getAttribute(name, 0); to get attributes case-insensitve		var attachPoint = [];		for(var y=0; y<this.attachProperties.length; y++){			var tmpAttachPoint = baseNode.getAttribute(this.attachProperties[y]);			if(tmpAttachPoint){				attachPoint = tmpAttachPoint.split(";");				for(var z=0; z<attachPoint.length; z++){					if(dojo.lang.isArray(targetObj[attachPoint[z]])){						targetObj[attachPoint[z]].push(baseNode);					}else{						targetObj[attachPoint[z]]=baseNode;					}				}				break;			}		}		// continue;		// FIXME: we need to put this into some kind of lookup structure		// instead of direct assignment		var tmpltPoint = baseNode.getAttribute(this.templateProperty);		if(tmpltPoint){			targetObj[tmpltPoint]=baseNode;		}		dojo.lang.forEach(dojo.widget.waiNames, function(name){			var wai = dojo.widget.wai[name];			var val = baseNode.getAttribute(wai.name);			if(val){				dojo.widget.wai.setAttr(baseNode, wai.name, val);			}		}, this);		var attachEvent = baseNode.getAttribute(this.eventAttachProperty);		if(attachEvent){			// NOTE: we want to support attributes that have the form			// "domEvent: nativeEvent; ..."			var evts = attachEvent.split(";");			for(var y=0; y<evts.length; y++){				if((!evts[y])||(!evts[y].length)){ continue; }				var thisFunc = null;				var tevt = trim(evts[y]);				if(evts[y].indexOf(":") >= 0){					// oh, if only JS had tuple assignment					var funcNameArr = tevt.split(":");					tevt = trim(funcNameArr[0]);					thisFunc = trim(funcNameArr[1]);				}				if(!thisFunc){					thisFunc = tevt;				}				var tf = function(){ 					var ntf = new String(thisFunc);					return function(evt){						if(_this[ntf]){							_this[ntf](dojo.event.browser.fixEvent(evt, this));						}					};				}();				dojo.event.browser.addListener(baseNode, tevt, tf, false, true);				// dojo.event.browser.addListener(baseNode, tevt, dojo.lang.hitch(_this, thisFunc));			}		}		for(var y=0; y<events.length; y++){			//alert(events[x]);			var evtVal = baseNode.getAttribute(events[y]);			if((evtVal)&&(evtVal.length)){				var thisFunc = null;				var domEvt = events[y].substr(4); // clober the "dojo" prefix				thisFunc = trim(evtVal);				var funcs = [thisFunc];				if(thisFunc.indexOf(";")>=0){					funcs = dojo.lang.map(thisFunc.split(";"), trim);				}				for(var z=0; z<funcs.length; z++){					if(!funcs[z].length){ continue; }					var tf = function(){ 						var ntf = new String(funcs[z]);						return function(evt){							if(_this[ntf]){								_this[ntf](dojo.event.browser.fixEvent(evt, this));							}						}					}();					dojo.event.browser.addListener(baseNode, domEvt, tf, false, true);					// dojo.event.browser.addListener(baseNode, domEvt, dojo.lang.hitch(_this, funcs[z]));				}			}		}		var onBuild = baseNode.getAttribute(this.onBuildProperty);		if(onBuild){			eval("var node = baseNode; var widget = targetObj; "+onBuild);		}	}}dojo.widget.getDojoEventsFromStr = function(str){	// var lstr = str.toLowerCase();	var re = /(dojoOn([a-z]+)(\s?))=/gi;	var evts = str ? str.match(re)||[] : [];	var ret = [];	var lem = {};	for(var x=0; x<evts.length; x++){		if(evts[x].legth < 1){ continue; }		var cm = evts[x].replace(/\s/, "");		cm = (cm.slice(0, cm.length-1));		if(!lem[cm]){			lem[cm] = true;			ret.push(cm);		}	}	return ret;}/*dojo.widget.buildAndAttachTemplate = function(obj, templatePath, templateCssPath, templateString, targetObj) {	this.buildFromTemplate(obj, templatePath, templateCssPath, templateString);	var node = dojo.dom.createNodesFromText(obj.templateString, true)[0];	this.attachTemplateNodes(node, targetObj||obj, dojo.widget.getDojoEventsFromStr(templateString));	return node;}*/dojo.declare("dojo.widget.DomWidget", dojo.widget.Widget, {	initializer: function() {		if((arguments.length>0)&&(typeof arguments[0] == "object")){			this.create(arguments[0]);		}	},								 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品欧美在线| 亚洲欧美日韩系列| 亚洲国产精品嫩草影院| 国产成人夜色高潮福利影视| 欧美伊人久久大香线蕉综合69 | www.成人网.com| 日韩欧美在线不卡| 亚洲综合丁香婷婷六月香| 国产aⅴ综合色| 精品福利在线导航| 三级一区在线视频先锋 | 91亚洲精品久久久蜜桃| 久久久亚洲午夜电影| 青青草精品视频| 欧美日韩一区二区在线视频| 亚洲视频在线一区二区| 国产精品69毛片高清亚洲| 日韩欧美一二区| 亚洲福利一区二区| 在线精品视频小说1| 中文字幕日韩精品一区 | 日本午夜一本久久久综合| 91精品福利在线| 亚洲人123区| 成人av电影免费观看| 久久久久99精品国产片| 激情综合亚洲精品| 日韩视频123| 日韩电影一二三区| 欧美另类高清zo欧美| 亚洲福中文字幕伊人影院| 日本道免费精品一区二区三区| 中文字幕乱码久久午夜不卡| 国产精品亚洲成人| 国产欧美视频一区二区三区| 韩国女主播成人在线| 亚洲精品一区二区在线观看| 精品一区二区三区免费观看| 欧美一区国产二区| 免费人成精品欧美精品| 日韩三级视频在线观看| 毛片基地黄久久久久久天堂| 宅男在线国产精品| 男人的天堂亚洲一区| 日韩一区二区电影网| 蜜臀va亚洲va欧美va天堂 | 99riav一区二区三区| 中文字幕日韩一区| 91免费版pro下载短视频| 亚洲精品videosex极品| 成人av手机在线观看| 国产精品国产三级国产aⅴ无密码| 成人晚上爱看视频| 亚洲欧美在线aaa| 97久久人人超碰| 亚洲精品国产a| 欧美日韩和欧美的一区二区| 日韩精品乱码免费| 日韩精品专区在线影院重磅| 国产在线一区二区综合免费视频| 久久综合狠狠综合| 成人午夜av电影| 一区二区三区中文字幕在线观看| 在线观看国产日韩| 日本91福利区| 日本一区二区三区dvd视频在线| 丁香六月久久综合狠狠色| 亚洲人快播电影网| 欧美体内she精视频| 蜜臀久久99精品久久久久宅男| 久久久蜜臀国产一区二区| 成人精品视频一区| 亚洲一区二区三区在线看| 日韩一级大片在线| 国产成a人亚洲精| 亚洲乱码中文字幕综合| 欧美精品色一区二区三区| 麻豆一区二区三区| 国产精品久线观看视频| 欧美理论电影在线| 国产精品一区二区无线| 亚洲女性喷水在线观看一区| 91麻豆精品久久久久蜜臀 | 日韩中文欧美在线| 久久久蜜桃精品| 在线观看免费成人| 国产在线精品免费| 亚洲欧美另类久久久精品2019| 欧美高清性hdvideosex| 国产高清在线精品| 亚洲一区二区三区四区五区黄 | 欧美成人a∨高清免费观看| 成人午夜精品一区二区三区| 午夜精品一区在线观看| 欧美国产一区二区在线观看| 欧美优质美女网站| 国产麻豆精品95视频| 亚洲一区视频在线| 国产欧美一区二区精品久导航| 欧美日韩免费在线视频| 国产成人在线视频网站| 天天综合色天天综合色h| 国产精品丝袜在线| 91精品国产综合久久小美女| 成人精品免费网站| 美女国产一区二区三区| 一区二区日韩电影| 国产亚洲美州欧州综合国| 在线免费观看一区| 国产精品综合在线视频| 日韩精品一级二级| 亚洲精品视频一区| 国产欧美一二三区| 日韩欧美美女一区二区三区| 91丨九色丨蝌蚪丨老版| 国产精品一线二线三线精华| 日韩精品欧美成人高清一区二区| 成人欧美一区二区三区在线播放| 欧美mv日韩mv亚洲| 欧美日韩dvd在线观看| 91麻豆福利精品推荐| 国产精品一二三四| 另类小说欧美激情| 五月婷婷久久丁香| 一区二区三区精品视频在线| 国产日韩一级二级三级| 精品免费视频.| 6080日韩午夜伦伦午夜伦| 在线免费观看日本欧美| 成人av在线网| 福利电影一区二区| 黄色精品一二区| 青青草原综合久久大伊人精品优势| 伊人婷婷欧美激情| 国产精品久久久久永久免费观看| 久久久久久久综合狠狠综合| 日韩色视频在线观看| 91精品国产日韩91久久久久久| 欧美在线观看一二区| 99国产精品99久久久久久| 丁香啪啪综合成人亚洲小说 | 亚洲国产成人精品视频| 亚洲日本在线视频观看| 国产精品久久免费看| 中文字幕av在线一区二区三区| 欧美精品一区二区精品网| 欧美精品1区2区3区| 欧美日韩中文字幕一区二区| 在线视频中文字幕一区二区| 色丁香久综合在线久综合在线观看| 成人avav在线| 99这里都是精品| av在线不卡免费看| 波多野结衣中文字幕一区二区三区| 国产精品66部| 丰满少妇久久久久久久| 国产91丝袜在线观看| 成人黄色免费短视频| 成人禁用看黄a在线| 成人性生交大片免费 | 青青草国产成人99久久| 日本大胆欧美人术艺术动态| 视频一区在线视频| 日本视频在线一区| 久久超碰97中文字幕| 久88久久88久久久| 国产原创一区二区| 成人午夜视频在线观看| 91片黄在线观看| 欧美色图天堂网| 91精品国产综合久久久久久漫画| 欧美精品18+| 精品久久久久一区| 国产日韩av一区二区| 国产精品久久午夜| 亚洲综合偷拍欧美一区色| 亚洲小说欧美激情另类| 人人爽香蕉精品| 国产精品亚洲专一区二区三区| 成人午夜在线视频| 色女孩综合影院| 欧美日韩大陆一区二区| 欧美va亚洲va国产综合| 久久精品欧美一区二区三区不卡| 中文字幕在线一区| 亚洲午夜免费福利视频| 奇米888四色在线精品| 国产成人午夜电影网| 一本色道久久综合亚洲精品按摩| 欧美日韩三级一区二区| 精品国产乱码91久久久久久网站| 国产校园另类小说区| 亚洲激情在线播放| 免费在线观看一区二区三区| 国产精品1024久久| 色婷婷亚洲一区二区三区| 欧美精品少妇一区二区三区| 久久久美女毛片| 亚洲黄色在线视频| 韩国欧美国产1区|