鄧華

          BlogJava 聯系 聚合 管理
            48 Posts :: 0 Stories :: 149 Comments :: 0 Trackbacks


          <script language="JavaScript" type="Text/JavaScript">

          <!--

          if(window.Event){// 修正Event的DOM

          ??? /*

          ??????????????????????????????? IE5??????? MacIE5??????? Mozilla??????? Konqueror2.2??????? Opera5

          ??? event??????????????????????? yes??????? yes??????????? yes??????????? yes??????????????????? yes

          ??? event.returnValue??????????? yes??????? yes??????????? no??????????? no??????????????????? no

          ??? event.cancelBubble??????????? yes??????? yes??????????? no??????????? no??????????????????? no

          ??? event.srcElement??????????? yes??????? yes??????????? no??????????? no??????????????????? no

          ??? event.fromElement??????????? yes??????? yes??????????? no??????????? no??????????????????? no

          ???

          ??? */

          ??? Event.prototype.__defineSetter__("returnValue",function(b){//

          ??????? if(!b)this.preventDefault();

          ??????? return b;

          ??????? });

          ??? Event.prototype.__defineSetter__("cancelBubble",function(b){// 設置或者檢索當前事件句柄的層次冒泡

          ??????? if(b)this.stopPropagation();

          ??????? return b;

          ??????? });

          ??? Event.prototype.__defineGetter__("srcElement",function(){

          ??????? var node=this.target;

          ??????? while(node.nodeType!=1)node=node.parentNode;

          ??????? return node;

          ??????? });

          ??? Event.prototype.__defineGetter__("fromElement",function(){// 返回鼠標移出的源節點

          ??????? var node;

          ??????? if(this.type=="mouseover")

          ??????????? node=this.relatedTarget;

          ??????? else if(this.type=="mouseout")

          ??????????? node=this.target;

          ??????? if(!node)return;

          ??????? while(node.nodeType!=1)node=node.parentNode;

          ??????? return node;

          ??????? });

          ??? Event.prototype.__defineGetter__("toElement",function(){// 返回鼠標移入的源節點

          ??????? var node;

          ??????? if(this.type=="mouseout")

          ??????????? node=this.relatedTarget;

          ??????? else if(this.type=="mouseover")

          ??????????? node=this.target;

          ??????? if(!node)return;

          ??????? while(node.nodeType!=1)node=node.parentNode;

          ??????? return node;

          ??????? });

          ??? Event.prototype.__defineGetter__("offsetX",function(){

          ??????? return this.layerX;

          ??????? });

          ??? Event.prototype.__defineGetter__("offsetY",function(){

          ??????? return this.layerY;

          ??????? });

          ??? }

          if(window.Document){// 修正Document的DOM

          ??? /*

          ??????????????????????????????? IE5??????? MacIE5??????? Mozilla??????? Konqueror2.2??????? Opera5

          ??? document.documentElement??? yes??????? yes??????????? yes??????????? yes??????????????????? no

          ??? document.activeElement??????? yes??????? null??????? no??????????? no??????????????????? no

          ???

          ??? */

          ??? }

          if(window.Node){// 修正Node的DOM

          ??? /*

          ??????????????????????????????? IE5??????? MacIE5??????? Mozilla??????? Konqueror2.2??????? Opera5

          ??? Node.contains??????????????? yes??????? yes??????????? no??????????? no??????????????????? yes

          ??? Node.replaceNode??????????? yes??????? no??????????? no??????????? no??????????????????? no

          ??? Node.removeNode??????????????? yes??????? no??????????? no??????????? no??????????????????? no

          ??? Node.children??????????????? yes??????? yes??????????? no??????????? no??????????????????? no

          ??? Node.hasChildNodes??????????? yes??????? yes??????????? yes??????????? yes??????????????????? no

          ??? Node.childNodes??????????????? yes??????? yes??????????? yes??????????? yes??????????????????? no

          ??? Node.swapNode??????????????? yes??????? no??????????? no??????????? no??????????????????? no

          ??? Node.currentStyle??????????? yes??????? yes??????????? no??????????? no??????????????????? no

          ???

          ??? */

          ??? Node.prototype.replaceNode=function(Node){// 替換指定節點

          ??????? this.parentNode.replaceChild(Node,this);

          ??????? }

          ??? Node.prototype.removeNode=function(removeChildren){// 刪除指定節點

          ??????? if(removeChildren)

          ??????????? return this.parentNode.removeChild(this);

          ??????? else{

          ??????????? var range=document.createRange();

          ??????????? range.selectNodeContents(this);

          ??????????? return this.parentNode.replaceChild(range.extractContents(),this);

          ??????????? }

          ??????? }

          ??? Node.prototype.swapNode=function(Node){// 交換節點

          ??????? var nextSibling=this.nextSibling;

          ??????? var parentNode=this.parentNode;

          ??????? node.parentNode.replaceChild(this,Node);

          ??????? parentNode.insertBefore(node,nextSibling);

          ??????? }

          ??? }

          if(window.HTMLElement){

          ??? HTMLElement.prototype.__defineGetter__("all",function(){

          ??????? var a=this.getElementsByTagName("*");

          ??????? var node=this;

          ??????? a.tags=function(sTagName){

          ??????????? return node.getElementsByTagName(sTagName);

          ??????????? }

          ??????? return a;

          ??????? });

          ??? HTMLElement.prototype.__defineGetter__("parentElement",function(){

          ??????? if(this.parentNode==this.ownerDocument)return null;

          ??????? return this.parentNode;

          ??????? });

          ??? HTMLElement.prototype.__defineGetter__("children",function(){

          ??????? var tmp=[];

          ??????? var j=0;

          ??????? var n;

          ??????? for(var i=0;i<this.childNodes.length;i++){

          ??????????? n=this.childNodes[i];

          ??????????? if(n.nodeType==1){

          ??????????????? tmp[j++]=n;

          ??????????????? if(n.name){

          ??????????????????? if(!tmp[n.name])

          ??????????????????????? tmp[n.name]=[];

          ??????????????????? tmp[n.name][tmp[n.name].length]=n;

          ??????????????????? }

          ??????????????? if(n.id)

          ??????????????????? tmp[n.id]=n;

          ??????????????? }

          ??????????? }

          ??????? return tmp;

          ??????? });

          ??? HTMLElement.prototype.__defineGetter__("currentStyle", function(){

          ??????? return this.ownerDocument.defaultView.getComputedStyle(this,null);

          ??????? });

          ??? HTMLElement.prototype.__defineSetter__("outerHTML",function(sHTML){

          ??????? var r=this.ownerDocument.createRange();

          ??????? r.setStartBefore(this);

          ??????? var df=r.createContextualFragment(sHTML);

          ??????? this.parentNode.replaceChild(df,this);

          ??????? return sHTML;

          ??????? });

          ??? HTMLElement.prototype.__defineGetter__("outerHTML",function(){

          ??????? var attr;

          ??????? var attrs=this.attributes;

          ??????? var str="<"+this.tagName;

          ??????? for(var i=0;i<attrs.length;i++){

          ??????????? attr=attrs[i];

          ??????????? if(attr.specified)

          ??????????????? str+=" "+attr.name+'="'+attr.value+'"';

          ??????????? }

          ??????? if(!this.canHaveChildren)

          ??????????? return str+">";

          ??????? return str+">"+this.innerHTML+"</"+this.tagName+">";

          ??????? });

          ??? HTMLElement.prototype.__defineGetter__("canHaveChildren",function(){

          ??????? switch(this.tagName.toLowerCase()){

          ??????????? case "area":

          ??????????? case "base":

          ??????????? case "basefont":

          ??????????? case "col":

          ??????????? case "frame":

          ??????????? case "hr":

          ??????????? case "img":

          ??????????? case "br":

          ??????????? case "input":

          ??????????? case "isindex":

          ??????????? case "link":

          ??????????? case "meta":

          ??????????? case "param":

          ??????????????? return false;

          ??????????? }

          ??????? return true;

          ??????? });

          ?

          ??? HTMLElement.prototype.__defineSetter__("innerText",function(sText){

          ??????? var parsedText=document.createTextNode(sText);

          ??????? this.innerHTML=parsedText;

          ??????? return parsedText;

          ??????? });

          ??? HTMLElement.prototype.__defineGetter__("innerText",function(){

          ??????? var r=this.ownerDocument.createRange();

          ??????? r.selectNodeContents(this);

          ??????? return r.toString();

          ??????? });

          ??? HTMLElement.prototype.__defineSetter__("outerText",function(sText){

          ??????? var parsedText=document.createTextNode(sText);

          ??????? this.outerHTML=parsedText;

          ??????? return parsedText;

          ??????? });

          ??? HTMLElement.prototype.__defineGetter__("outerText",function(){

          ??????? var r=this.ownerDocument.createRange();

          ??????? r.selectNodeContents(this);

          ??????? return r.toString();

          ??????? });

          ??? HTMLElement.prototype.attachEvent=function(sType,fHandler){

          ??????? var shortTypeName=sType.replace(/on/,"");

          ??????? fHandler._ieEmuEventHandler=function(e){

          ??????????? window.event=e;

          ??????????? return fHandler();

          ??????????? }

          ??????? this.addEventListener(shortTypeName,fHandler._ieEmuEventHandler,false);

          ??????? }

          ??? HTMLElement.prototype.detachEvent=function(sType,fHandler){

          ??????? var shortTypeName=sType.replace(/on/,"");

          ??????? if(typeof(fHandler._ieEmuEventHandler)=="function")

          ??????????? this.removeEventListener(shortTypeName,fHandler._ieEmuEventHandler,false);

          ??????? else

          ??????????? this.removeEventListener(shortTypeName,fHandler,true);

          ??????? }

          ??? HTMLElement.prototype.contains=function(Node){// 是否包含某節點

          ??????? do if(Node==this)return true;

          ??????? while(Node=Node.parentNode);

          ??????? return false;

          ??????? }

          ??? HTMLElement.prototype.insertAdjacentElement=function(where,parsedNode){

          ??????? switch(where){

          ??????????? case "beforeBegin":

          ??????????????? this.parentNode.insertBefore(parsedNode,this);

          ??????????????? break;

          ??????????? case "afterBegin":

          ??????????????? this.insertBefore(parsedNode,this.firstChild);

          ??????????????? break;

          ??????????? case "beforeEnd":

          ??????????????? this.appendChild(parsedNode);

          ??????????????? break;

          ??????????? case "afterEnd":

          ??????????????? if(this.nextSibling)

          ??????????????????? this.parentNode.insertBefore(parsedNode,this.nextSibling);

          ??????????????? else

          ??????????????????? this.parentNode.appendChild(parsedNode);

          ??????????????? break;

          ??????????? }

          ??????? }

          ??? HTMLElement.prototype.insertAdjacentHTML=function(where,htmlStr){

          ??????? var r=this.ownerDocument.createRange();

          ??????? r.setStartBefore(this);

          ??????? var parsedHTML=r.createContextualFragment(htmlStr);

          ??????? this.insertAdjacentElement(where,parsedHTML);

          ??????? }

          ??? HTMLElement.prototype.insertAdjacentText=function(where,txtStr){

          ??????? var parsedText=document.createTextNode(txtStr);

          ??????? this.insertAdjacentElement(where,parsedText);

          ??????? }

          ??? HTMLElement.prototype.attachEvent=function(sType,fHandler){

          ??????? var shortTypeName=sType.replace(/on/,"");

          ??????? fHandler._ieEmuEventHandler=function(e){

          ??????????? window.event=e;

          ??????????? return fHandler();

          ??????????? }

          ??????? this.addEventListener(shortTypeName,fHandler._ieEmuEventHandler,false);

          ??????? }

          ??? HTMLElement.prototype.detachEvent=function(sType,fHandler){

          ??????? var shortTypeName=sType.replace(/on/,"");

          ??????? if(typeof(fHandler._ieEmuEventHandler)=="function")

          ??????????? this.removeEventListener(shortTypeName,fHandler._ieEmuEventHandler,false);

          ??????? else

          ??????????? this.removeEventListener(shortTypeName,fHandler,true);

          ??????? }

          ??? }

          //-->

          </script>

          posted on 2006-08-02 15:15 鄧華的碎碎念 閱讀(329) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 临夏市| 贵州省| 津市市| 纳雍县| 余江县| 阜城县| 南江县| 牙克石市| 易门县| 龙岩市| 安康市| 和林格尔县| 中卫市| 集贤县| 宁化县| 齐河县| 济宁市| 瑞昌市| 衢州市| 靖宇县| 栾城县| 武安市| 新巴尔虎左旗| 筠连县| 荣成市| 牙克石市| 通渭县| 红原县| 安图县| 科技| 茶陵县| 邳州市| 宜兰市| 邹城市| 鸡东县| 芦山县| 奎屯市| 巴林左旗| 万源市| 伊通| 富川|