⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 button.js

📁 dojo与json创建无限级树的时候,当在父结点下添加了一个新结点,我怎么让父亲结点重新调用json加载一下子结点内容.
💻 JS
字号:
/*	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.Button");dojo.provide("dojo.widget.html.Button");dojo.require("dojo.lang.extras");dojo.require("dojo.html");dojo.require("dojo.style");dojo.require("dojo.widget.*");dojo.require("dojo.widget.HtmlWidget");dojo.widget.defineWidget(	"dojo.widget.html.Button",	dojo.widget.HtmlWidget,	{		widgetType: "Button",		isContainer: true,			// Constructor arguments		caption: "",		disabled: false,			templatePath: dojo.uri.dojoUri("src/widget/templates/HtmlButtonTemplate.html"),		templateCssPath: dojo.uri.dojoUri("src/widget/templates/HtmlButtonTemplate.css"),				// button images		inactiveImg: "src/widget/templates/images/soriaButton-",		activeImg: "src/widget/templates/images/soriaActive-",		pressedImg: "src/widget/templates/images/soriaPressed-",		disabledImg: "src/widget/templates/images/soriaDisabled-",		width2height: 1.0/3.0,			// attach points		containerNode: null,		leftImage: null,		centerImage: null,		rightImage: null,			fillInTemplate: function(args, frag){			if(this.caption != ""){				this.containerNode.appendChild(document.createTextNode(this.caption));			}			dojo.html.disableSelection(this.containerNode);		},		postCreate: function(args, frag){			this.sizeMyself();		},			sizeMyself: function(){			// we cannot size correctly if any of our ancestors are hidden (display:none),			// so temporarily attach to document.body			if(this.domNode.parentNode){				var placeHolder = document.createElement("span");				dojo.dom.insertBefore(placeHolder, this.domNode);			}			dojo.html.body().appendChild(this.domNode);						this.sizeMyselfHelper();						// Put this.domNode back where it was originally			if(placeHolder){				dojo.dom.insertBefore(this.domNode, placeHolder);				dojo.dom.removeNode(placeHolder);			}		},		sizeMyselfHelper: function(){			this.height = dojo.style.getOuterHeight(this.containerNode);			this.containerWidth = dojo.style.getOuterWidth(this.containerNode);			var endWidth= this.height * this.width2height;				this.containerNode.style.left=endWidth+"px";				this.leftImage.height = this.rightImage.height = this.centerImage.height = this.height;			this.leftImage.width = this.rightImage.width = endWidth+1;			this.centerImage.width = this.containerWidth;			this.centerImage.style.left=endWidth+"px";			this._setImage(this.disabled ? this.disabledImg : this.inactiveImg);			if ( this.disabled ) {				dojo.html.prependClass(this.domNode, "dojoButtonDisabled");			} else {				dojo.html.removeClass(this.domNode, "dojoButtonDisabled");			}							this.domNode.style.height=this.height + "px";			this.domNode.style.width= (this.containerWidth+2*endWidth) + "px";		},			onMouseOver: function(e){			if( this.disabled ){ return; }			dojo.html.prependClass(this.domNode, "dojoButtonHover");			this._setImage(this.activeImg);		},			onMouseDown: function(e){			if( this.disabled ){ return; }			dojo.html.prependClass(this.domNode, "dojoButtonDepressed");			dojo.html.removeClass(this.domNode, "dojoButtonHover");			this._setImage(this.pressedImg);		},		onMouseUp: function(e){			if( this.disabled ){ return; }			dojo.html.prependClass(this.domNode, "dojoButtonHover");			dojo.html.removeClass(this.domNode, "dojoButtonDepressed");			this._setImage(this.activeImg);		},			onMouseOut: function(e){			if( this.disabled ){ return; }			dojo.html.removeClass(this.domNode, "dojoButtonHover");			this._setImage(this.inactiveImg);		},			buttonClick: function(e){			if( !this.disabled ) { this.onClick(e); }		},		onClick: function(e) { },		_setImage: function(prefix){			this.leftImage.src=dojo.uri.dojoUri(prefix + "l.gif");			this.centerImage.src=dojo.uri.dojoUri(prefix + "c.gif");			this.rightImage.src=dojo.uri.dojoUri(prefix + "r.gif");		},				_toggleMenu: function(menuId){			var menu = dojo.widget.getWidgetById(menuId);			if ( !menu ) { return; }				if ( menu.open && !menu.isShowingNow) {				var pos = dojo.style.getAbsolutePosition(this.domNode, false);				menu.open(pos.x, pos.y+this.height, this);			} else if ( menu.close && menu.isShowingNow ){				menu.close();			} else {				menu.toggle();			}		},				setCaption: function(content){			this.caption=content;			this.containerNode.innerHTML=content;			this.sizeMyself();		},				setDisabled: function(disabled){			this.disabled=disabled;			this.sizeMyself();		}	});/**** DropDownButton - push the button and a menu shows up *****/dojo.widget.defineWidget(	"dojo.widget.html.DropDownButton",	dojo.widget.html.Button,	{		widgetType: "DropDownButton",			menuId: "",		arrow: null,			downArrow: "src/widget/templates/images/whiteDownArrow.gif",		disabledDownArrow: "src/widget/templates/images/whiteDownArrow.gif",			fillInTemplate: function(args, frag){			dojo.widget.html.DropDownButton.superclass.fillInTemplate.call(this, args, frag);				this.arrow = document.createElement("img");			dojo.html.setClass(this.arrow, "downArrow");		},		sizeMyselfHelper: function(){			// draw the arrow (todo: why is the arror in containerNode rather than outside it?)			this.arrow.src = dojo.uri.dojoUri(this.disabled ? this.disabledDownArrow : this.downArrow);			this.containerNode.appendChild(this.arrow);			dojo.widget.html.DropDownButton.superclass.sizeMyselfHelper.call(this);		},		onClick: function (e){			this._toggleMenu(this.menuId);		}	});/**** ComboButton - left side is normal button, right side shows menu *****/dojo.widget.defineWidget(	"dojo.widget.html.ComboButton",	dojo.widget.html.Button,	{		widgetType: "ComboButton",			menuId: "",			templatePath: dojo.uri.dojoUri("src/widget/templates/HtmlComboButtonTemplate.html"),			// attach points		leftPart: null,		rightPart: null,		arrowBackgroundImage: null,			// constants		splitWidth: 2,		// pixels between left&right part of button		arrowWidth: 5,		// width of segment holding down arrow			sizeMyselfHelper: function(e){			this.height = dojo.style.getOuterHeight(this.containerNode);			this.containerWidth = dojo.style.getOuterWidth(this.containerNode);			var endWidth= this.height/3;				// left part			this.leftImage.height = this.rightImage.height = this.centerImage.height = 				this.arrowBackgroundImage.height = this.height;			this.leftImage.width = endWidth+1;			this.centerImage.width = this.containerWidth;			this.leftPart.style.height = this.height + "px";			this.leftPart.style.width = endWidth + this.containerWidth + "px";			this._setImageL(this.disabled ? this.disabledImg : this.inactiveImg);				// right part			this.arrowBackgroundImage.width=this.arrowWidth;			this.rightImage.width = endWidth+1;			this.rightPart.style.height = this.height + "px";			this.rightPart.style.width = this.arrowWidth + endWidth + "px";			this._setImageR(this.disabled ? this.disabledImg : this.inactiveImg);				// outer container			this.domNode.style.height=this.height + "px";			var totalWidth = this.containerWidth+this.splitWidth+this.arrowWidth+2*endWidth;			this.domNode.style.width= totalWidth + "px";		},			/** functions on left part of button**/		leftOver: function(e){			if( this.disabled ){ return; }			dojo.html.prependClass(this.leftPart, "dojoButtonHover");			this._setImageL(this.activeImg);		},			leftDown: function(e){			if( this.disabled ){ return; }			dojo.html.prependClass(this.leftPart, "dojoButtonDepressed");			dojo.html.removeClass(this.leftPart, "dojoButtonHover");			this._setImageL(this.pressedImg);		},		leftUp: function(e){			if( this.disabled ){ return; }			dojo.html.prependClass(this.leftPart, "dojoButtonHover");			dojo.html.removeClass(this.leftPart, "dojoButtonDepressed");			this._setImageL(this.activeImg);		},			leftOut: function(e){			if( this.disabled ){ return; }			dojo.html.removeClass(this.leftPart, "dojoButtonHover");			this._setImageL(this.inactiveImg);		},			leftClick: function(e){			if ( !this.disabled ) {				this.onClick(e);			}		},			_setImageL: function(prefix){			this.leftImage.src=dojo.uri.dojoUri(prefix + "l.gif");			this.centerImage.src=dojo.uri.dojoUri(prefix + "c.gif");		},			/*** functions on right part of button ***/		rightOver: function(e){			if( this.disabled ){ return; }			dojo.html.prependClass(this.rightPart, "dojoButtonHover");			this._setImageR(this.activeImg);		},			rightDown: function(e){			if( this.disabled ){ return; }			dojo.html.prependClass(this.rightPart, "dojoButtonDepressed");			dojo.html.removeClass(this.rightPart, "dojoButtonHover");			this._setImageR(this.pressedImg);		},		rightUp: function(e){			if( this.disabled ){ return; }			dojo.html.prependClass(this.rightPart, "dojoButtonHover");			dojo.html.removeClass(this.rightPart, "dojoButtonDepressed");			this._setImageR(this.activeImg);		},			rightOut: function(e){			if( this.disabled ){ return; }			dojo.html.removeClass(this.rightPart, "dojoButtonHover");			this._setImageR(this.inactiveImg);		},			rightClick: function(e){			if( this.disabled ){ return; }			this._toggleMenu(this.menuId);		},			_setImageR: function(prefix){			this.arrowBackgroundImage.src=dojo.uri.dojoUri(prefix + "c.gif");			this.rightImage.src=dojo.uri.dojoUri(prefix + "r.gif");		}	});

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -