赞助连接

赞助连接

阅 读 文 章

还没看到过js这种写法,谁能帮我解析一下,谢谢

[来源:网上转载 (CSDN转载) | 作者:网友(freesea1) | 时间:2008-09-12 | 浏览:人次 ]

<SCRIPT>  
  //   SCRIPT   tag   added   by   Instant   Source   (for   syntax   highlighting).  
   
          function   defaultAction(actionName){  
  var   method   =   "on"+actionName+"()";  
   
                  try{  
                          execFrameAction(contentframe,method);  
  }  
  catch   (e){  
                          if   (isNoObjectError(e)){  
  alert("????????"+method+"????");  
  return   true;  
  }  
  else{  
  alert(e);  
  }  
  }  
  }  
  //????????????????  
  function   defaultRefresh(){  
  if(methodI *** sit(   contentframe,'doRefresh()'   )){  
  try{  
  execFrameAction(contentframe,"doRefresh()");  
  }  
  catch   (e){}  
  }  
  else{  
  contentframe.location.reload();  
  }  
  }  
  function   createButton(el)   {  
   
  el.attachEvent("onmouseover", createButton.overToolBarButton);  
  el.attachEvent("onmouseout", createButton.outToolBarButton);  
  el.attachEvent("onmousedown", createButton.downToolBarButton);  
  el.attachEvent("onmouseup", createButton.upToolBarButton);  
  el.attachEvent("onclick", createButton.clickToolBarButton);  
  el.attachEvent("ondblclick", createButton.clickToolBarButton);  
  el.attachEvent("onkeypress", createButton.keypressToolBarButton);  
  el.attachEvent("onkeyup", createButton.keyupToolBarButton);  
  el.attachEvent("onkeydown", createButton.keydownToolBarButton);  
  el.attachEvent("onfocus", createButton.focusToolBarButton);  
  el.attachEvent("onblur", createButton.blurToolBarButton);  
   
            
  el.className   =   "toolBarButton";  
  //特别是这部份,真的难以理解el怎么可以设置那么多属 *** ,也没有在那里定义过这些属 *** 呀  
  el.setEnabled =   createButton.setEnabled;  
  el.getEnabled =   createButton.getEnabled;  
  el.setValue =   createButton.setValue;  
  el.getValue =   createButton.getValue;  
  el.setToggle =   createButton.setToggle;  
  el.getToggle =   createButton.getToggle;  
  el.setAlwaysUp =   createButton.setAlwaysUp;  
  el.getAlwaysUp =   createButton.getAlwaysUp;  
   
  el._enabled =   true;  
  el._toggle =   false;  
  el._value =   false;  
  el._alwaysUp =   false;  
   
  return   el;  
  };  
   
  createButton.LEFT   =   window.moz   ?   0   :   1;  
   
  createButton.overToolBarButton   =   function   ()   {  
  var   toEl   =   createButton.getParentToolBarButton(window.event.toElement);  
  var   fromEl   =   createButton.getParentToolBarButton(window.event.fromElement);  
  if   (toEl   ==   fromEl   ||   toEl   ==   null)   return;  
   
  toEl._over   =   true;  
   
  if   (!toEl._enabled)   return;  
   
  createButton.setClassName(toEl);  
  };  
   
  createButton.outToolBarButton   =   function   ()   {  
  var   toEl   =   createButton.getParentToolBarButton(window.event.toElement);  
  var   fromEl   =   createButton.getParentToolBarButton(window.event.fromElement);  
  if   (toEl   ==   fromEl   ||   fromEl   ==   null)   return;  
   
  fromEl._over   =   false;  
  fromEl._down   =   false;  
   
  if   (!fromEl._enabled)   return;  
   
  createButton.setClassName(fromEl);  
  };  
   
  createButton.downToolBarButton   =   function   ()   {  
  if   (window.event.button   !=   createButton.LEFT)   return;  
   
  var   el   =   createButton.getParentToolBarButton(window.event.srcElement);  
  if   (el   ==   null)   return;  
   
  el._down   =   true;  
   
  if   (!el._enabled)   return;  
   
  createButton.setClassName(el);  
  };  
   
  createButton.upToolBarButton   =   function   ()   {  
  if   (window.event.button   !=   createButton.LEFT)   return;  
   
  var   el   =   createButton.getParentToolBarButton(window.event.srcElement);  
  if   (el   ==   null)   return;  
   
  el._down   =   false;  
   
  if   (!el._enabled)   return;  
   
  if   (el._toggle)  
  el.setValue(!el._value);  
  else  
  createButton.setClassName(el);  
  };  
   
  createButton.clickToolBarButton   =   function   ()   {  
  var   el   =   createButton.getParentToolBarButton(window.event.srcElement);  
  el.onaction   =   el.getAttribute("onaction");  
  if   (el   ==   null   ||   !el._enabled   ||   el.onaction   ==   ""   ||   el.onaction   ==   null)   return;  
   
  if   (typeof   el.onaction   ==   "string")  
  el.onaction   =   new   Function   ("event",   el.onaction);  
  el.onaction(window.event);  
  };  
   
  createButton.keypressToolBarButton   =   function   ()   {  
  var   el   =   createButton.getParentToolBarButton(window.event.srcElement);  
  if   (el   ==   null   ||   !el._enabled   ||   window.event.keyCode   !=   13)   return;  
   
  el.setValue(!el._value);  
   
  if   (el.onaction   ==   null)   return;  
   
  if   (typeof   el.onaction   ==   "string")  
  el.onaction   =   new   Function   ("event",   el.onaction);  
   
  el.onaction(window.event);  
  };  
   
  createButton.keydownToolBarButton   =   function   ()   {  
  var   el   =   createButton.getParentToolBarButton(window.event.srcElement);  
  if   (el   ==   null   ||   !el._enabled   ||   window.event.keyCode   !=   32)   return;  
  createButton.downToolBarButton();  
  };  
   
  createButton.keyupToolBarButton   =   function   ()   {  
  var   el   =   createButton.getParentToolBarButton(window.event.srcElement);  
  if   (el   ==   null   ||   !el._enabled   ||   window.event.keyCode   !=   32)   return;  
  createButton.upToolBarButton();  
   
  if   (el.onaction   ==   null)   return;  
   
  if   (typeof   el.onaction   ==   "string")  
  el.onaction   =   new   Function   ("event",   el.onaction);  
   
  el.onaction(window.event);  
  };  
   
  createButton.focusToolBarButton   =   function   ()   {  
  var   el   =   createButton.getParentToolBarButton(window.event.srcElement);  
  if   (el   ==   null   ||   !el._enabled)   return;  
  createButton.setClassName(el);  
  };  
   
  createButton.blurToolBarButton   =   function   ()   {  
  var   el   =   createButton.getParentToolBarButton(window.event.srcElement);  
  if   (el   ==   null)   return;  
   
  createButton.setClassName(el)  
  };  
   
  createButton.getParentToolBarButton   =   function   (el)   {  
  if   (el   ==   null)   return   null;  
  if   (/toolBarButton/.test(el.className))  
  return   el;  
  return   createButton.getParentToolBarButton(el.parentNode);  
  };  
   
  createButton.setClassName   =   function   (el)   {  
  var   over   =   el._over;  
  var   down   =   el._down;  
  var   focused;  
  try   {  
  focused   =   (el   ==   document.activeElement   &&   el.tabIndex   >   0);  
  }  
  catch   (exc)   {  
  focused   =   false;  
  }  
   
  if   (!el._enabled)   {  
  if   (el._value)  
  el.className   =   "toolBarButtonActiveDisabled";  
  else  
  el.className   =   el._alwaysUp   ?   "toolBarButtonUpDisabled"   :   "toolBarButtonDisabled";  
  }  
  else   {  
  if   (el._value)   {  
  if   (over   ||   down   ||   focused)  
  el.className   =   "toolBarButtonActiveHover";  
  else  
  el.className   =   "toolBarButtonActive";  
  }  
  else   {  
  if   (down)  
  el.className   =   "toolBarButtonActiveHover";  
  else   if   (over   ||   el._alwaysUp   ||   focused)  
  el.className   =   "toolBarButtonHover";  
  else  
  el.className   =   "toolBarButton";  
  }  
  }  
  };  
   
  createButton.setEnabled   =   function   (b)   {  
  if   (this._enabled   !=   b)   {  
  this._enabled   =   b;  
  createButton.setClassName(this,   false,   false);  
  if   (!window.moz)   {  
  if   (b)  
  this.innerHTML   =   this.firstChild.firstChild.innerHTML;  
  else  
  this.innerHTML   =   "<span   class='toolBarButtonDisabledContainer'><span   class='toolBarButtonDisabledContainer'>"   +   this.innerHTML   +   "</span></span>";  
  }  
  }  
  };  
   
  createButton.getEnabled   =   function   ()   {  
  return   this._enabled;  
  };  
   
  createButton.setValue   =   function   (v,   bDontTriggerOnChange)   {  
  if   (this._toggle   &&   this._value   !=   v)   {  
  this._value   =   v;  
  createButton.setClassName(this,   false,   false);  
   
  this.onchange   =   this.getAttribute("onchange");  
   
  if   (this.onchange   ==   null   ||   this.onchange   ==   ""   ||   bDontTriggerOnChange)   return;  
   
  if   (typeof   this.onchange   ==   "string")  
  this.onchange   =   new   Function("",   this.onchange);  
   
  this.onchange();  
  }  
  };  
   
  createButton.getValue   =   function   ()   {  
  return   this._value;  
  };  
   
  createButton.setToggle   =   function   (t)   {  
  if   (this._toggle   !=   t)   {  
  this._toggle   =   t;  
  if   (!t)   this.setValue(false);  
  }  
  };  
   
  createButton.getToggle   =   function   ()   {  
  return   this._toggle;  
  };  
   
  createButton.setAlwaysUp   =   function   (up)   {  
  if   (this._alwaysUp   !=   up)   {  
  this._alwaysUp   =   up;  
  createButton.setClassName(this,   false,   false);  
  }  
  };  
   
  createButton.getAlwaysUp   =   function   ()   {  
  return   this._alwaysUp;  
  };  
   
  </SCRIPT>
//特别是这部份,真的难以理解el怎么可以设置那么多属 *** ,也没有在那里定义过这些属 *** 呀  
  这些属 *** 是自定义的,想怎么定义就怎么定义。  
 
createButton(el){  
      el.attachEvent("onmouseover", createButton.overToolBarButton);  
      el.attachEvent("onmouseout", createButton.outToolBarButton);  
      el.attachEvent("onmousedown", createButton.downToolBarButton);  
      ....  
      el.setEnabled =   createButton.setEnabled;  
      el.getEnabled =   createButton.getEnabled;  
      ...  
  }  
   
   
  object.attachEvent(sEvent,   fpNotify);  
   
  在這個方法傳入一個參數,attachEvent是為該對象綁定一個指定的方法,  
  任何時候觸發該對象的時候就會調用這個方法.  
   
  例如:  
  el.attachEvent("onmouseover", createButton.overToolBarButton);  
   
  觸發onmouseover事件就會調用createButton.overToolBarButton方法.  
   
   
  el.setEnabled =   createButton.setEnabled;  
  這是設置該對象的屬 ***
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 解析 谢谢 这种 看到 if el return function el.onaction

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.