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

📄 aw.js

📁 很好的HTML控件
💻 JS
📖 第 1 页 / 共 5 页
字号:
 AW.Formats.HTML=AW.System.Format.subclass();AW.Formats.HTML.create=function(){var obj=this.prototype;obj.dataToValue=function(data){return data?data.replace(AW.htmlPattern,AW.htmlReplace):""};obj.dataToText=function(data){return data};obj.textToValue=obj.dataToValue;if("".localeCompare){obj.comparator=function(values,greater,less,equal,error){return function(i,j){try{return greater *(""+values[i]).localeCompare(values[j])|| equal(i,j)}catch(e){return error(i,j,e)}}}}};
 AW.HTML.define=function(name,tag,type){if(!tag){tag=name.toLowerCase()}AW.HTML[name]=AW.System.HTML.subclass();AW.HTML[name].create=function(){this.prototype.setTag(tag)}};(function(){var i,tags=["DIV","SPAN","IMG","INPUT","BUTTON","TEXTAREA","TABLE","TR","TD"];for(i=0;i<tags.length;i++){AW.HTML.define(tags[i])}})();
 AW.Templates.ImageText=AW.System.Template.subclass();AW.Templates.ImageText.create=function(){var obj=this.prototype;function _image(){return this.getControlProperty("image")|| "none"}function _text(){return this.getControlProperty("text")}function _tooltip(){return this.getControlProperty("tooltip")}var span=AW.HTML.SPAN;var image=new span;image.setClass("item","image");image.setClass("image",_image);var ruler=new span;ruler.setClass("item","ruler");var text=new span;text.setClass("item","text");text.setContent("html",_text);var box=new span;box.setClass("item","box");box.setContent("sign","");box.setContent("marker","");box.setContent("image",image);box.setContent("ruler",ruler);box.setContent("text",text);obj.setTag("span");obj.setClass("item","template");obj.setClass("templates","imagetext");obj.setAttribute("title",_tooltip);obj.setContent("box",box);if(AW.gecko){obj.setAttribute("tabIndex","-1")}var startEditIE=function(startText){var self=this;var item=self.getAttribute("aw");var originalText=self.getControlProperty("text");var text=originalText;var valid;var e=self.getContent("box/text").element();var x=self.element();if(!e || !x){return}var input=(e.tagName=="input")||(e.tagName=="INPUT");function raiseEvent(name){var text1=self.getControlProperty("text");var fullname=AW.camelCase("on",item,name);var result=self.raiseEvent(fullname,text,self.$0,self.$1,self.$2);var text2=self.getControlProperty("text");if(text2 !=text1){updateText(text2)}return result}if(raiseEvent("editStarting")){e=null;x=null;return}function nobubble(event){event.cancelBubble=true}function updateText(text){if(input){e.value=text}else{e.innerHTML=text}}function onpropertychange(event){var text1=self.getControlProperty("text");var text2=input?e.value:e.innerHTML.replace(/&nbsp;/g," ");if(text2 !=text1){self.setControlProperty("text",text2)}var text3=self.getControlProperty("text");if(text3 !=text2){updateText(text3)}}function onkeydown(event){if(event.keyCode==27){if(input){e.value=originalText}else{e.innerHTML=originalText}event.returnValue=false;if(!self.$owner){return}onbeforedeactivate(event);if(valid){ondeactivate(event)}return}if(event.keyCode==13){text=self.getControlProperty("text");if(!self.$owner){if(raiseEvent("validating")){return}raiseEvent("validated");return}event.returnValue=false;event.cancelBubble=true;onbeforedeactivate(event);if(valid){ondeactivate(event)}return}var r;if(input){r=e.createTextRange()}else{r=document.body.createTextRange();r.moveToElementText(e)}var s=document.selection.createRange();if((event.keyCode==36 || event.keyCode==37)&& r.compareEndPoints("StartToStart",s)){event.cancelBubble=true;r=null;s=null;return}if((event.keyCode==35 || event.keyCode==39)&& r.compareEndPoints("EndToEnd",s)){event.cancelBubble=true;r=null;s=null;return}}function onbeforedeactivate(event){valid=false;text=self.getControlProperty("text");if(input && text !=e.value){text=e.value;self.setControlProperty("text",text)}if(!input && text !=e.innerHTML.replace(/&nbsp;/g," ")){text=e.innerHTML.replace(/&nbsp;/g," ");self.setControlProperty("text",text)}var text2=self.getControlProperty("text");if(text2 !=text){updateText(text2);text=text2}if(self.element().contains(event.toElement)){event.returnValue=false;return}if(raiseEvent("editEnding")){event.cancelBubble=true;event.returnValue=false;return}if(originalText==text){valid=true;return}if(raiseEvent("validating")){event.cancelBubble=true;event.returnValue=false;return}raiseEvent("validated");valid=true}function ondeactivate(event){text=self.getControlProperty("text");e.removeExpression("aw-value");e.detachEvent("onselectstart",nobubble);e.detachEvent("oncontextmenu",nobubble);x.detachEvent("onmousedown",nobubble);x.detachEvent("onmouseup",nobubble);x.detachEvent("onclick",nobubble);x.detachEvent("ondoubleclick",nobubble);e.detachEvent("onpropertychange",onpropertychange);e.detachEvent("onkeydown",onkeydown);e.detachEvent("onbeforedeactivate",onbeforedeactivate);e.detachEvent("ondeactivate",ondeactivate);if(!input){e.contentEditable=false}e.parentNode.scrollLeft=0;x.className=x.className.replace(" aw-edit-"+item,"");if(self.$owner){self.$owner.$edit=false}raiseEvent("editEnded");e=null;x=null}x.className=x.className.replace(/ aw-mousedown-\w+/g,"")+" aw-edit-"+item;if(!input){e.contentEditable=true}e.attachEvent("onselectstart",nobubble);e.attachEvent("oncontextmenu",nobubble);if(input){e.select()}else{e.focus()}e.setExpression("aw-value",input?"this.value":"this.innerHTML");x.attachEvent("onmousedown",nobubble);x.attachEvent("onmouseup",nobubble);x.attachEvent("onclick",nobubble);x.attachEvent("ondoubleclick",nobubble);e.attachEvent("onpropertychange",onpropertychange);e.attachEvent("onkeydown",onkeydown);e.attachEvent("onbeforedeactivate",onbeforedeactivate);e.attachEvent("ondeactivate",ondeactivate);if(self.$owner){self.$owner.$edit=true}raiseEvent("editStarted");if(typeof(startText)=="string"){e.innerHTML=startText}};var startEditGecko=function(startText){var self=this;var item=self.getAttribute("aw");var originalText=self.getControlProperty("text");var text=originalText;var e=self.getContent("box/text").element();var x=self.element();if(!e || !x){return}var input=(e.tagName=="input")||(e.tagName=="INPUT");var updateText=function(text){if(input){e.value=text}else{e.innerHTML=text}};function raiseEvent(name){var text1=self.getControlProperty("text");var fullname=AW.camelCase("on",item,name);var result=self.raiseEvent(fullname,text,self.$0,self.$1,self.$2);var text2=self.getControlProperty("text");if(text2 !=text1){updateText(text2)}return result}if(raiseEvent("editStarting")){e=null;x=null;return}updateText=function(text){e.value=text};function nobubble(event){event.stopPropagation()}function oninput(event){var text1=self.getControlProperty("text");var text2=e.value;if(text2 !=text1){self.setControlProperty("text",text2)}var text3=self.getControlProperty("text");if(text3 !=text2){updateText(text3)}text=text3}function onkeydown(event){if(event.keyCode==27){e.value=originalText;event.preventDefault();if(!self.$owner){return}try{self.$owner.getContent("focus").element().focus();return}catch(err){}onfocus(event);return}if(event.keyCode==13){text=self.getControlProperty("text");if(!self.$owner){insideFocus=true;if(raiseEvent("validating")){insideFocus=false;return}raiseEvent("validated");insideFocus=false;return}event.preventDefault();event.stopPropagation();try{self.$owner.getContent("focus").element().focus();return}catch(err){}onfocus(event);return}if((event.keyCode==36 || event.keyCode==37)&& e.selectionStart > 0){event.stopPropagation();return}if((event.keyCode==35 || event.keyCode==39)&& e.selectionStart < e.value.length){event.stopPropagation();return}}function cancelEvent(event){if(event.target !=document){event.preventDefault();event.stopPropagation()}}var insideFocus;function focusBack(event){event.preventDefault();event.stopPropagation();e.focus();window.removeEventListener("blur",cancelEvent,true);insideFocus=false}var inDocFocus;function docFocus(event){if(inDocFocus){return}inDocFocus=true;var e=document.createEvent("HTMLEvents");e.initEvent("focus",false,false);e.deferred=true;window.setTimeout(function(){if(inDocFocus){onfocus(e)}e=null})}function onfocus(event){if(event.type=="focus" && event.target==document && !event.deferred){return docFocus(event)}inDocFocus=false;if(insideFocus ||(event.type=="focus" && event.target==e)){return}insideFocus=true;window.addEventListener("blur",cancelEvent,true);function isInside(parent,child){try{var range=document.createRange();range.selectNode(parent);return child &&(range.compareNode(child)==3)}catch(err){return false}}if(event.type=="focus" &&(isInside(x,event.target)|| isInside(self.$popup,event.target))){return focusBack(event)}oninput(event);if(raiseEvent("editEnding")){return focusBack(event)}if(text !=originalText){if(raiseEvent("validating")){return focusBack(event)}raiseEvent("validated")}window.removeEventListener("blur",cancelEvent,true);insideFocus=false;e.removeEventListener("contextmenu",nobubble,false);x.removeEventListener("mousedown",nobubble,false);x.removeEventListener("mouseup",nobubble,false);x.removeEventListener("click",nobubble,false);x.removeEventListener("doubleclick",nobubble,false);e.removeEventListener("input",oninput,false);e.removeEventListener("keydown",onkeydown,false);window.removeEventListener("focus",onfocus,true);if(!input){node2.innerHTML=self.getControlProperty("text");e.parentNode.replaceChild(node2,e)}x.className=x.className.replace(" aw-edit-"+item,"");AW.lockFocus=false;if(self.$owner){self.$owner.$edit=false}raiseEvent("editEnded");e=null;x=null;node1=null;node2=null;if(event.type=="focus" && event.deferred){document.dispatchEvent(event)}}x.className=x.className.replace(/ aw-mousedown-\w+/g,"")+" aw-edit-"+item;if(input){e.select()}else{var node1=document.createElement("input");node1.setAttribute("id",e.id);node1.setAttribute("type","text");node1.setAttribute("class",e.className);node1.setAttribute("autocomplete","off");node1.setAttribute("value",text);var node2=e.parentNode.replaceChild(node1,e);e=node1;e.focus()}e.addEventListener("contextmenu",nobubble,false);x.addEventListener("mousedown",nobubble,false);x.addEventListener("mouseup",nobubble,false);x.addEventListener("click",nobubble,false);x.addEventListener("doubleclick",nobubble,false);e.addEventListener("input",oninput,false);e.addEventListener("keydown",onkeydown,false);window.addEventListener("focus",onfocus,true);AW.lockFocus=true;if(self.$owner){self.$owner.$edit=true}raiseEvent("editStarted");if(typeof(startText)=="string"){e.value=startText;oninput.call(self)}};if(AW.ie){obj.startEdit=startEditIE}if(!AW.ie){obj.startEdit=startEditGecko}};
 AW.Templates.Image=AW.Templates.ImageText.subclass();AW.Templates.Image.create=function(){var obj=this.prototype;obj.setClass("templates","image");var box=obj.getContent("box");if(!AW.gecko){box.setTag("")}box.setContent("text","");obj.startEdit=null};
 AW.Templates.Text=AW.Templates.ImageText.subclass();AW.Templates.Text.create=function(){var obj=this.prototype;obj.setClass("templates","text");var box=obj.getContent("box");if(!AW.gecko){box.setTag("")}box.setContent("image","")};
 AW.Templates.Link=AW.Templates.ImageText.subclass();AW.Templates.Link.create=function(){var obj=this.prototype;obj.setTag("a");obj.setClass("templates","link");obj.setAttribute("tabIndex","-1");obj.setAttribute("href",function(){return this.getControlProperty("link")|| null});var box=obj.getContent("box");if(!AW.gecko){box.setTag("")}obj.startEdit=null};
 AW.Templates.CheckBox=AW.Templates.ImageText.subclass();AW.Templates.CheckBox.create=function(){var obj=this.prototype;obj.setClass("value",function(){return this.getControlProperty("value")|| false});obj.setClass("toggle","checkbox");obj.setClass("templates","checkbox");obj.setAttribute("awx","toggle");var marker=new AW.HTML.SPAN;marker.setClass("item","marker");obj.setContent("box/marker",marker);obj.setEvent("onclick",function(){var value=this.getControlProperty("value");this.setControlProperty("value",!value)});obj.startEdit=null};AW.Templates.Checkbox=AW.Templates.CheckBox;
 AW.Templates.CheckedItem=AW.Templates.CheckBox.subclass();AW.Templates.CheckedItem.create=function(){var obj=this.prototype;obj.setClass("templates","checkeditem");obj.setClass("value",function(){return this.getStateProperty("selected")|| false});obj.setEvent("onclick",function(){var selected=this.getStateProperty("selected");this.setStateProperty("selected",!selected)})};
 AW.Templates.Radio=AW.Templates.CheckedItem.subclass();AW.Templates.Radio.create=function(){var obj=this.prototype;obj.setClass("toggle","radio");obj.setClass("templates","radio");obj.setEvent("onclick","")};
 AW.Templates.Popup=AW.System.Template.subclass();AW.Templates.Popup.create=function(){var obj=this.prototype;obj.setClass("popup","normal");obj.showPopup=function(){var popup=window.createPopup();this.$popup=popup;AW.$popup=this;var doc=popup.document;doc.open();if(AW.strict){doc.write("<!DOCTYPE HTML PUBLIC \"-\/\/W3C\/\/DTD HTML 4.01\/\/EN\" \"http:\/\/www.w3.org/TR/html4/strict.dtd\">")}var cls=document.getElementsByTagName("html")[0].className;doc.write("<html class=\"aw-popup-window aw-system-control "+cls+"\"><head>");AW.register(doc.parentWindow);for(var i=0;i<document.styleSheets.length;i++){doc.write(document.styleSheets[i].owningElement.outerHTML)}doc.write("</head><body onselectstart=\"return false\" oncontextmenu=\"return false\">");doc.write(this.getPopupTemplate().toString());doc.write("</body></html>");doc.close();var ref=this.element();var left=0;var top=ref.offsetHeight;var width=ref.offsetWidth;var height=1;popup.show(left,top,width,height,ref);width=Math.max(doc.body.scrollWidth,width);height=Math.max(doc.body.scrollHeight+1,20);popup.show(left,top,width,height,ref);ref=null};obj.hidePopup=function(){if(this.$popup && this.$popup.isOpen){this.$popup.hide()}if(this.$popup){this.$popup=null}if(AW.$popup){AW.$popup=null}};if(!AW.ie){obj.showPopup=function(){if(this.$popup){document.body.removeChild(this.$popup);this.$popup=null}var ref=this.element()?this.element():document.body;var left=AW.getLeft(ref);var top=AW.getTop(ref)+ref.offsetHeight;var popup=document.createElement("div");this.$popup=popup;AW.$popup=this;document.body.appendChild(popup);popup.className="aw-popup-window aw-system-control";popup.style.left=left+"px";popup.style.top=top+"px";popup.innerHTML=this.getPopupTemplate().toString()};obj.hidePopup=function(){if(this.$popup){this.setTimeout(function(){document.body.removeChild(this.$popup);this.$popup=null;AW.$popup=null})}};obj.onControlDeactivated=function(){this.hidePopup()}}};
 AW.Templates.Frame=AW.System.Template.subclass();AW.Templates.Frame.create=function(){var obj=this.prototype;obj.setClass("frame","template");obj.setClass("flow","vertical");obj.setClass("text","normal");var box=new AW.HTML.SPAN;box.setClass("frame","box");box.setClass("list","box");if(AW.ie && AW.strict){box.setStyle("width","expression(this.parentElement.offsetWidth-4)")}box.setContent("html",function(){return this.getLayoutTemplate()});obj.setContent("box",box)};

⌨️ 快捷键说明

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