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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? domwidget.js

?? 圖書管理系統(tǒng)包括圖書的增加、刪除、修改等功能
?? 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]);		}	},								 

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩在线不卡| 亚洲伦理在线精品| 欧美精品一区二区精品网| 7777精品伊人久久久大香线蕉| 91最新地址在线播放| av不卡免费在线观看| 91亚洲精品久久久蜜桃网站 | 国产一区二区在线看| 美腿丝袜在线亚洲一区| 蜜乳av一区二区三区| 久久99久久久久久久久久久| 精品一区中文字幕| 国产盗摄精品一区二区三区在线| 国产精品中文字幕欧美| 国产成人亚洲综合a∨婷婷 | 日韩欧美专区在线| 欧美电影影音先锋| 欧美不卡一区二区三区四区| 久久综合资源网| 中文天堂在线一区| 亚洲色图在线视频| 五月天国产精品| 精品一区二区三区在线播放 | 99久久精品情趣| 在线观看亚洲专区| 日韩欧美一卡二卡| 中文字幕国产精品一区二区| 亚洲精品日产精品乱码不卡| 水蜜桃久久夜色精品一区的特点 | 欧美午夜精品一区二区三区| 欧美日韩二区三区| 久久综合资源网| 亚洲人一二三区| 日韩av电影免费观看高清完整版在线观看 | 婷婷国产v国产偷v亚洲高清| 国产一区二区三区电影在线观看| 丰满少妇久久久久久久| 欧美在线一二三| 欧美变态凌虐bdsm| 亚洲乱码国产乱码精品精的特点| 日本va欧美va精品| 99国内精品久久| 91精品国产麻豆国产自产在线| 久久尤物电影视频在线观看| 亚洲男人天堂av| 精品一区二区免费| 91高清视频在线| 精品久久国产97色综合| 综合网在线视频| 久久99九九99精品| 欧美性色综合网| 久久久www成人免费毛片麻豆| 亚洲欧美一区二区久久| 狠狠色伊人亚洲综合成人| 99国产精品99久久久久久| 欧美一区二区女人| 日韩毛片视频在线看| 久久成人18免费观看| 91九色02白丝porn| 国产嫩草影院久久久久| 日韩中文字幕不卡| 色综合激情久久| 国产午夜亚洲精品理论片色戒| 亚洲成av人片www| 99国产精品视频免费观看| 日韩精品在线看片z| 亚洲图片自拍偷拍| 日韩一区二区在线看| 中文字幕一区二区三区四区| 久久电影网站中文字幕| 欧美三级电影网| 亚洲三级视频在线观看| 大美女一区二区三区| 日韩欧美一级二级| 日韩精品一级中文字幕精品视频免费观看 | 亚洲乱码国产乱码精品精可以看| 国产毛片精品视频| 日韩欧美国产综合在线一区二区三区 | 伊人一区二区三区| 99在线热播精品免费| 国产无人区一区二区三区| 蜜臀av亚洲一区中文字幕| 欧美日韩精品一区二区| 一区二区三区不卡视频| 9人人澡人人爽人人精品| 欧美国产精品劲爆| 国产精品一二三在| 精品成人在线观看| 蜜臀av性久久久久蜜臀aⅴ | 久久精品亚洲精品国产欧美| 麻豆91在线观看| 欧美疯狂做受xxxx富婆| 亚洲成人动漫av| 欧美日韩色一区| 亚洲成人你懂的| 欧美剧情电影在线观看完整版免费励志电影 | 一区二区三区资源| 色94色欧美sute亚洲线路一ni| 中文乱码免费一区二区| 懂色av一区二区夜夜嗨| 国产日产欧美一区二区三区| 国产福利一区在线观看| 久久青草欧美一区二区三区| 精品一区二区三区影院在线午夜| 欧美电影免费观看高清完整版在线 | 日韩激情在线观看| 在线不卡免费欧美| 日本成人在线网站| 日韩精品一区二区三区四区 | 欧美色精品在线视频| 午夜激情久久久| 91.com视频| 麻豆成人久久精品二区三区红 | 日韩欧美123| 国产一区二区在线观看视频| 久久网这里都是精品| 国产成人av电影在线观看| 欧美国产精品一区二区三区| 99v久久综合狠狠综合久久| 亚洲精品欧美专区| 91麻豆精品国产91久久久久 | 91麻豆精品视频| 亚洲自拍欧美精品| 欧美狂野另类xxxxoooo| 久久99精品久久只有精品| 欧美经典一区二区| 97精品国产露脸对白| 亚洲成人精品一区| 精品欧美乱码久久久久久1区2区| 国产在线精品不卡| 亚洲色图一区二区| 欧美精品久久一区二区三区| 韩国成人福利片在线播放| 中文字幕av资源一区| 在线欧美小视频| 久久er99热精品一区二区| 国产亚洲欧美中文| 欧美艳星brazzers| 捆绑调教美女网站视频一区| 国产欧美中文在线| 欧美综合久久久| 韩国成人福利片在线播放| 亚洲视频一二三区| 日韩视频国产视频| 成人精品视频.| 天堂午夜影视日韩欧美一区二区| 久久人人超碰精品| 欧美午夜精品一区二区三区| 国产中文字幕一区| 一区二区激情视频| 久久综合av免费| 91国偷自产一区二区三区成为亚洲经典 | 亚洲一区二区综合| 国产欧美一区二区精品秋霞影院 | 视频一区视频二区在线观看| 精品国产一区二区三区久久影院 | 国产精品污污网站在线观看| 欧美调教femdomvk| 成人免费精品视频| 青青草精品视频| 一区二区在线观看不卡| 久久精品男人天堂av| 欧美日韩综合不卡| 成人免费观看av| 蜜桃视频第一区免费观看| 亚洲激情网站免费观看| 久久亚洲私人国产精品va媚药| 欧美色网站导航| 成人黄色小视频| 精品一区精品二区高清| 亚洲bt欧美bt精品| 亚洲免费在线观看| 欧美国产在线观看| 日韩美女视频在线| 欧美日本一区二区| 日本福利一区二区| 99久久99久久精品国产片果冻| 国产一区二区三区免费看| 日韩电影网1区2区| 一区二区三区四区蜜桃| 国产精品久久久久一区二区三区共| 日韩你懂的在线播放| 欧美日韩午夜在线| 在线免费一区三区| 91色视频在线| 成人国产精品免费观看视频| 国产一区二区三区最好精华液| 视频一区在线播放| 亚洲成人av免费| 亚洲国产一区在线观看| 亚洲男人的天堂av| 亚洲另类春色校园小说| 国产精品高潮呻吟久久| 欧美激情中文字幕一区二区| 久久久精品黄色| 久久久久国产精品免费免费搜索| 精品国产乱码久久久久久免费| 日韩一级二级三级精品视频| 911国产精品| 日韩欧美视频在线|