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

📄 inlineeditbox.js

📁 初学者
💻 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.InlineEditBox");dojo.require("dojo.widget.*");dojo.require("dojo.event.*");dojo.require("dojo.lfx.*");dojo.require("dojo.gfx.color");dojo.require("dojo.string");dojo.require("dojo.html.*");dojo.require("dojo.html.layout");dojo.widget.defineWidget("dojo.widget.InlineEditBox", dojo.widget.HtmlWidget, function () {	this.history = [];}, {templateString:"<form class=\"inlineEditBox\" style=\"display: none\" dojoAttachPoint=\"form\" dojoAttachEvent=\"onSubmit:saveEdit; onReset:cancelEdit; onKeyUp: checkForValueChange;\">\n\t<input type=\"text\" dojoAttachPoint=\"text\" style=\"display: none;\" />\n\t<textarea dojoAttachPoint=\"textarea\" style=\"display: none;\"></textarea>\n\t<input type=\"submit\" value=\"Save\" dojoAttachPoint=\"submitButton\" />\n\t<input type=\"reset\" value=\"Cancel\" dojoAttachPoint=\"cancelButton\" />\n</form>\n", templateCssString:".editLabel {\n\tfont-size : small;\n\tpadding : 0 5px;\n\tdisplay : none;\n}\n\n.editableRegionDisabled {\n\tcursor : pointer;\n\t_cursor : hand;\n}\n\n.editableRegion {\n\tbackground-color : #ffc !important;\n\tcursor : pointer;\n\t_cursor : hand;\n}\n\n.editableRegion .editLabel {\n\tdisplay : inline;\n}\n\n.editableTextareaRegion .editLabel {\n\tdisplay : block;\n}\n\n.inlineEditBox {\n\t/*background-color : #ffc;*/\n\tdisplay : inline;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/InlineEditBox.css"), mode:"text", name:"", minWidth:100, minHeight:200, editing:false, value:"", textValue:"", defaultText:"", postMixInProperties:function () {	if (this.textValue) {		dojo.deprecated("InlineEditBox: Use value parameter instead of textValue; will be removed in 0.5");		this.value = this.textValue;	}	if (this.defaultText) {		dojo.deprecated("InlineEditBox: Use value parameter instead of defaultText; will be removed in 0.5");		this.value = this.defaultText;	}}, postCreate:function (args, frag) {	this.editable = this.getFragNodeRef(frag);	dojo.html.insertAfter(this.editable, this.form);	dojo.event.connect(this.editable, "onmouseover", this, "onMouseOver");	dojo.event.connect(this.editable, "onmouseout", this, "onMouseOut");	dojo.event.connect(this.editable, "onclick", this, "_beginEdit");	if (this.value) {		this.editable.innerHTML = this.value;		return;	} else {		this.value = dojo.string.trim(this.editable.innerHTML);		this.editable.innerHTML = this.value;	}}, onMouseOver:function () {	if (!this.editing) {		if (this.disabled) {			dojo.html.addClass(this.editable, "editableRegionDisabled");		} else {			dojo.html.addClass(this.editable, "editableRegion");			if (this.mode == "textarea") {				dojo.html.addClass(this.editable, "editableTextareaRegion");			}		}	}}, onMouseOut:function () {	if (!this.editing) {		dojo.html.removeClass(this.editable, "editableRegion");		dojo.html.removeClass(this.editable, "editableTextareaRegion");		dojo.html.removeClass(this.editable, "editableRegionDisabled");	}}, _beginEdit:function (e) {	if (this.editing || this.disabled) {		return;	}	this.onMouseOut();	this.editing = true;	var ee = this[this.mode.toLowerCase()];	ee.value = dojo.string.trim(this.value);	ee.style.fontSize = dojo.html.getStyle(this.editable, "font-size");	ee.style.fontWeight = dojo.html.getStyle(this.editable, "font-weight");	ee.style.fontStyle = dojo.html.getStyle(this.editable, "font-style");	var bb = dojo.html.getBorderBox(this.editable);	ee.style.width = Math.max(bb.width, this.minWidth) + "px";	if (this.mode.toLowerCase() == "textarea") {		ee.style.display = "block";		ee.style.height = Math.max(bb.height, this.minHeight) + "px";	} else {		ee.style.display = "";	}	this.form.style.display = "";	this.editable.style.display = "none";	ee.focus();	ee.select();	this.submitButton.disabled = true;}, saveEdit:function (e) {	e.preventDefault();	e.stopPropagation();	var ee = this[this.mode.toLowerCase()];	if ((this.value != ee.value) && (dojo.string.trim(ee.value) != "")) {		this.doFade = true;		this.history.push(this.value);		this.onSave(ee.value, this.value, this.name);		this.value = ee.value;		this.editable.innerHTML = "";		var textNode = document.createTextNode(this.value);		this.editable.appendChild(textNode);	} else {		this.doFade = false;	}	this._finishEdit(e);}, _stopEditing:function () {	this.editing = false;	this.form.style.display = "none";	this.editable.style.display = "";	return true;}, cancelEdit:function (e) {	this._stopEditing();	this.onCancel();	return true;}, _finishEdit:function (e) {	this._stopEditing();	if (this.doFade) {		dojo.lfx.highlight(this.editable, dojo.gfx.color.hex2rgb("#ffc"), 700).play(300);	}	this.doFade = false;}, setText:function (txt) {	dojo.deprecated("setText() is deprecated, call setValue() instead, will be removed in 0.5");	this.setValue(txt);}, setValue:function (txt) {	txt = "" + txt;	var tt = dojo.string.trim(txt);	this.value = tt;	this.editable.innerHTML = tt;}, undo:function () {	if (this.history.length > 0) {		var curValue = this.value;		var value = this.history.pop();		this.editable.innerHTML = value;		this.value = value;		this.onUndo(value);		this.onSave(value, curValue, this.name);	}}, onChange:function (newValue, oldValue) {}, onSave:function (newValue, oldValue, name) {}, onCancel:function () {}, checkForValueChange:function () {	var ee = this[this.mode.toLowerCase()];	if ((this.value != ee.value) && (dojo.string.trim(ee.value) != "")) {		this.submitButton.disabled = false;	}	this.onChange(this.value, ee.value);}, disable:function () {	this.submitButton.disabled = true;	this.cancelButton.disabled = true;	var ee = this[this.mode.toLowerCase()];	ee.disabled = true;	dojo.widget.InlineEditBox.superclass.disable.apply(this, arguments);}, enable:function () {	this.checkForValueChange();	this.cancelButton.disabled = false;	var ee = this[this.mode.toLowerCase()];	ee.disabled = false;	dojo.widget.InlineEditBox.superclass.enable.apply(this, arguments);}});

⌨️ 快捷键说明

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